Grundlæggende mapping og datatyper
Bliv introduceret til mapping, hvordan Elasticsearch udleder datatyper, og hvordan De definerer enkle eksplicitte mappings for Deres felter.
Grundlæggende mapping og datatyper er en gratis Elasticsearch og systemer til fuldtekstsøgning-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Elasticsearch og systemer til fuldtekstsøgning, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.
Mapping: En plan for dine data
Når du lægger data ind i Elasticsearch, skal Elasticsearch forstå, hvilken type data hvert enkelt element er. Det er her, mapping kommer ind i billedet.
Mapping fungerer som et skema, der definerer felterne i dine dokumenter og deres datatyper, f.eks. tekst, tal eller datoer.
Hvorfor mapping er vigtigt
Tænk på mapping som en plan for din søgemaskine. Den fortæller Elasticsearch:
- Hvordan hvert felt skal gemmes
- Hvordan hvert felt skal indekseres (forberedes til søgning)
- Hvordan der kan søges i og foretages analyse af hvert felt
Uden korrekt mapping fungerer dine søgninger måske ikke som forventet!
Dynamisk mapping: Elasticsearch gætter
Elasticsearch er intelligent! Hvis du indekserer et dokument uden først at definere en mapping, forsøger Elasticsearch at gætte datatypen for hvert felt. Det kaldes dynamisk mapping.
Det er praktisk, når du hurtigt vil i gang, men det er ikke altid ideelt, hvis du har brug for præcis kontrol over dine data.
Eksempel på dynamisk mapping
Lad os se dynamisk mapping i praksis. Vi indekserer et dokument i et nyt indeks med navnet my_books. Elasticsearch opretter automatisk indekset og gætter felttyperne.
PUT /my_books/_doc/1
{
"title": "The Art of Search",
"author": "Jane Doe",
"published_year": 2023,
"is_available": true,
"pages": 320
}Undersøgelse af dynamiske mappings
Efter indekseringen kan vi hente den automatisk genererede mapping for my_books og se, hvilke datatyper Elasticsearch udledte for hvert felt.
Du vil se typer som text, keyword, long og boolean.
GET /my_books/_mappingBegrænsninger ved dynamisk mapping
Dynamisk mapping er praktisk, men har begrænsninger. Elasticsearch kan f.eks. mappe et bynavn som text (til fuldtekstsøgning), selvom du faktisk har brug for det som keyword (til nøjagtig filtrering).
Det kan føre til ineffektive søgninger eller uventede resultater. Derfor er eksplicit mapping afgørende.
Definition af eksplicit mapping
Eksplicit mapping betyder, at du selv definerer skemaet, før du indekserer dokumenter. Det giver dig fuld kontrol over, hvordan dine data gemmes og indekseres.
Du definerer mappings, når du opretter et indeks, i objektet mappings under properties.
PUT /my_custom_index
{
"mappings": {
"properties": {
"field_name": { "type": "data_type" }
}
}
}Almindelige datatyper: Text og Keyword
To grundlæggende typer er text og keyword:
text: Bruges til fuldtekstsøgning (f.eks. bogbeskrivelser). Teksten analyseres, opdeles i ord og behandles.keyword: Bruges til match på nøjagtige værdier, filtrering og sortering (f.eks. produkt-ID'er og tags). Keywords gemmes uændret.
Eksempel på eksplicit mapping: Text og Keyword
Sådan mapper du eksplicit product_name til søgning og product_id til nøjagtig filtrering.
Bemærk, at vi opretter indekset med mappingen, før vi tilføjer dokumenter.
PUT /products_v1
{
"mappings": {
"properties": {
"product_name": { "type": "text" },
"product_id": { "type": "keyword" }
}
}
}Hurtigt tjek: Valg af datatyper
Du er ved at opbygge et Elasticsearch-indeks til en e-handelsplatform. Hvilke datatyper vil være mest passende for følgende felter, så du får effektiv søgning og filtrering?
Opsummering: Få styr på dine datastrukturer
Godt klaret! Du har lært det grundlæggende om mapping i Elasticsearch.
- Mapping definerer strukturen og typerne for felterne i dine dokumenter.
- Dynamisk mapping er Elasticsearch' funktion til automatisk at gætte typer.
- Eksplicit mapping giver dig fuld kontrol, så du kan definere typer som
text(til søgning) ogkeyword(til nøjagtige match) samt numeriske typer somintegerogfloat.
Kontrol over dine mappings er afgørende for effektiv og præcis søgning!
Lær Elasticsearch og systemer til fuldtekstsøgning med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Grundlæggende mapping og datatyper” gratis?
Ja — alle 3 lektioner i læringssporet Elasticsearch og systemer til fuldtekstsøgning, inklusive “Grundlæggende mapping og datatyper”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Grundlæggende mapping og datatyper”?
Bliv introduceret til mapping, hvordan Elasticsearch udleder datatyper, og hvordan De definerer enkle eksplicitte mappings for Deres felter. Du øver dig i Elasticsearch og systemer til fuldtekstsøgning med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Elasticsearch og systemer til fuldtekstsøgning?
Der kræves ingen tidligere erfaring. Elasticsearch og systemer til fuldtekstsøgning på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Grundlæggende mapping og datatyper”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Elasticsearch og systemer til fuldtekstsøgning-lektion?
Ja. Alle Elasticsearch og systemer til fuldtekstsøgning-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Indeksering af dokumenter i Elasticsearch
- CRUD-operationer med dokumenter
- Grundlæggende mapping og datatyper
- Masseindeksering og Bulk API