Elasticsearch og systemer for fulltekstsøk · leksjon

Grunnleggende mapping og datatyper

Bli kjent med mapping-konseptet, hvordan Elasticsearch utleder datatyper, og hvordan du definerer enkle eksplisitte mappinger for feltene dine.

Leksjon 3 av 411 trinn

Grunnleggende mapping og datatyper er en gratis leksjon i Elasticsearch og systemer for fulltekstsøk på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Elasticsearch og systemer for fulltekstsøk, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Elasticsearch og systemer for fulltekstsøk inneholder totalt 4 leksjoner.

Mapping: En plan for dataene Deres

Når De legger data inn i Elasticsearch, må systemet forstå hvilken type data hvert enkelt element er. Det er her mapping kommer inn.

Mapping kan sammenlignes med et skjema som definerer feltene i dokumentene og datatypene deres, for eksempel tekst, tall eller datoer.

Hvorfor mapping er viktig

Tenk på mapping som en plan for søkemotoren Deres. Den forteller Elasticsearch:

  • Hvordan hvert felt skal lagres
  • Hvordan hvert felt skal indekseres (forberedes for søk)
  • Hvordan hvert felt kan søkes i og analyseres

Uten riktig mapping fungerer kanskje ikke søkene som forventet!

Dynamisk mapping: Elasticsearch gjetter

Elasticsearch er smart! Hvis De indekserer et dokument uten å definere mapping først, prøver systemet å gjette datatypen for hvert felt. Dette kalles dynamisk mapping.

Det er praktisk når De skal komme raskt i gang, men er ikke alltid ideelt når De trenger presis kontroll over dataene.

Eksempel på dynamisk mapping

La oss se dynamisk mapping i praksis. Vi indekserer et dokument i en ny indeks kalt my_books. Elasticsearch oppretter indeksen automatisk og gjetter felttypene.

PUT /my_books/_doc/1
{
  "title": "The Art of Search",
  "author": "Jane Doe",
  "published_year": 2023,
  "is_available": true,
  "pages": 320
}

Undersøke dynamisk mapping

Etter indekseringen kan vi hente mappingen som automatisk ble generert for my_books, for å se hvilke datatyper Elasticsearch fastslo for hvert felt.

De vil se typer som text, keyword, long og boolean.

GET /my_books/_mapping

Begrensninger ved dynamisk mapping

Dynamisk mapping er praktisk, men har begrensninger. Elasticsearch kan for eksempel mappe et bynavn som text (for fulltekstsøk), selv om De egentlig trenger det som keyword (for nøyaktig filtrering).

Dette kan føre til ineffektive søk eller uventede resultater. Derfor er eksplisitt mapping avgjørende.

Definere eksplisitt mapping

Eksplisitt mapping betyr at De selv definerer skjemaet før dokumentene indekseres. Dette gir Dem full kontroll over hvordan dataene lagres og indekseres.

De definerer mapping når De oppretter en indeks, i mappings-objektet under properties.

PUT /my_custom_index
{
  "mappings": {
    "properties": {
      "field_name": { "type": "data_type" }
    }
  }
}

Vanlige datatyper: Text og Keyword

To grunnleggende typer er text og keyword:

  • text: Brukes til fulltekstsøk (for eksempel bokbeskrivelser). Teksten analyseres, deles opp i ord og behandles.
  • keyword: Brukes til samsvar med nøyaktige verdier, filtrering og sortering (for eksempel produkt-ID-er og tagger). Keyword-verdier lagres uendret.

Eksempel på eksplisitt mapping: Text og Keyword

Slik kan De mappe product_name eksplisitt for søk og product_id for nøyaktig filtrering.

Legg merke til at vi oppretter indeksen med mappingen før vi legger til dokumenter.

PUT /products_v1
{
  "mappings": {
    "properties": {
      "product_name": { "type": "text" },
      "product_id": { "type": "keyword" }
    }
  }
}

Hurtigsjekk: Velge datatyper

De bygger en Elasticsearch-indeks for en e-handelsplattform. Hvilke datatyper passer best for de følgende feltene, slik at De får effektive søk og filtrering?

Oppsummering: Få kontroll på datastrukturen

Godt jobbet! De har lært det grunnleggende om mapping i Elasticsearch.

  • Mapping definerer strukturen og typene til dokumentfeltene.
  • Dynamisk mapping er Elasticsearch-funksjonen som gjetter automatisk.
  • Eksplisitt mapping gir Dem full kontroll, slik at De kan definere typer som text (for søk) og keyword (for nøyaktige treff), samt numeriske typer som integer og float.

Kontroll over mappingene er avgjørende for kraftige og nøyaktige søk!

Gratis å komme i gang

Lær deg Elasticsearch og systemer for fulltekstsøk med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Grunnleggende mapping og datatyper» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Elasticsearch og systemer for fulltekstsøk, inkludert «Grunnleggende mapping og datatyper», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Elasticsearch og systemer for fulltekstsøk inneholder totalt 4 leksjoner.

Hva lærer jeg i «Grunnleggende mapping og datatyper»?

Bli kjent med mapping-konseptet, hvordan Elasticsearch utleder datatyper, og hvordan du definerer enkle eksplisitte mappinger for feltene dine. Du øver på Elasticsearch og systemer for fulltekstsøk med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Elasticsearch og systemer for fulltekstsøk?

Ingen tidligere erfaring er nødvendig. Elasticsearch og systemer for fulltekstsøk på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Grunnleggende mapping og datatyper»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Elasticsearch og systemer for fulltekstsøk-leksjonen?

Ja. Alle Elasticsearch og systemer for fulltekstsøk-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Indeksere dokumenter i Elasticsearch
  2. CRUD-operasjoner med dokumenter
  3. Grunnleggende mapping og datatyper
  4. Masseindeksering og Bulk API
← Tilbake til Elasticsearch og systemer for fulltekstsøk