Forståelse Index og Mapping inn Elasticsearch

Sikker! Her er oversettelsen av forklaringen og eksempler for Index og Mapping i Elasticsearch:

Index i Elasticsearch

En Index in Elasticsearch ligner på en database i tradisjonelle databasestyringssystemer(DBMS). Den lagrer en samling av relaterte dokumenter. Hver Index tilsvarer vanligvis en bestemt type data i applikasjonen din. For eksempel, i en e-handelsapplikasjon kan du opprette en Index for å lagre informasjon om produkter, en annen Index for å lagre informasjon om brukere og bestillinger.

Hver Index inn Elasticsearch er delt inn i mindre shards for datadistribusjon. En Shard er en liten del av en Index, og hver Shard kan lagres på en separat node i en Elasticsearch klynge. Å dele data i shards optimerer søke- og spørringsytelsen og forbedrer skalerbarheten til systemet.

For å lage en ny Index navngitt products  i Elasticsearch kan du for eksempel bruke API eller administrasjonsverktøy som Kibana for å utføre følgende kommando:

PUT /products  
{  
  "settings": {  
    "number_of_shards": 3,  
    "number_of_replicas": 2  
  }  
}  

I eksemplet ovenfor har vi laget en Index products med 3 shard og 2 replica av hver shard for å sikre tilgjengelighet og sikkerhetskopiering av data.

 

Mapping i Elasticsearch

Mapping er prosessen med å definere hvordan Elasticsearch lagrer og behandler data i en Index. Når du legger til et nytt dokument i en Index, Elasticsearch brukes Mapping til å bestemme datatypen for hvert felt i dokumentet. Dette hjelper deg Elasticsearch med å forstå hvordan du behandler og søker etter data i forskjellige felt.

For eksempel, hvis vi har et Index products og ønsker å definere Mapping for feltene name(produktnavn) og price  (produktpris) som henholdsvis tekst- og flytetyper, kan vi utføre følgende kommando:

PUT /products/_mapping  
{  
  "properties": {  
    "name": {  
      "type": "text"  
    },  
    "price": {  
      "type": "float"  
    }  
  }  
}  

I eksemplet ovenfor har vi definert Mapping for products  indeksen, med name  feltet som har datatypen text og prisfeltet har datatypen float. Dette sikrer at når Elasticsearch den mottar nye dokumenter for products  indeksen, vil den lagre og behandle name  feltene og "pris" i henhold til de definerte datatypene.

Index og Mapping spiller avgjørende roller i organisering og administrasjon av data i Elasticsearch. De hjelper Elasticsearch effektivt å forstå og behandle data, optimalisere søke- og spørringsoperasjoner og gir fleksible skalerbarhetsmuligheter for systemet.