Forståelse Index og Mapping ind Elasticsearch

Jo da! Her er oversættelsen af ​​forklaringen og eksempler på Index og Mapping i Elasticsearch:

Index i Elasticsearch

En Index in Elasticsearch ligner en database i traditionelle databasestyringssystemer(DBMS). Det gemmer en samling af relaterede dokumenter. Hver af dem Index svarer typisk til en bestemt type data i din applikation. For eksempel kan du i en e-handelsapplikation oprette en Index til at gemme information om produkter, en anden Index til at gemme information om brugere og ordrer.

Hver Index ind Elasticsearch er opdelt i mindre skår til datadistribution. En Shard er en lille del af en Index, og hver Shard kan gemmes på en separat node i en Elasticsearch klynge. Opdeling af data i shards optimerer søge- og forespørgselsydeevne og forbedrer skalerbarheden af ​​systemet.

Index For at oprette en ny navngivet products  i kan du for eksempel Elasticsearch bruge API eller administrationsværktøjer som Kibana til at udføre følgende kommando:

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

I eksemplet ovenfor har vi lavet en Index products med 3 shard og 2 replica af hver shard for at sikre tilgængelighed og data backup.

 

Mapping i Elasticsearch

Mapping er processen med at definere, hvordan Elasticsearch gemmer og behandler data i en Index. Når du tilføjer et nyt dokument til et Index, Elasticsearch bruges Mapping til at bestemme datatypen for hvert felt i dokumentet. Dette hjælper med Elasticsearch at forstå, hvordan man behandler og søger data i forskellige felter.

For eksempel, hvis vi har et Index products og ønsker at definere Mapping felterne name(produktnavn) og price  (produktpris) som henholdsvis tekst- og flydetyper, kan vi udføre følgende kommando:

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

I eksemplet ovenfor har vi defineret Mapping for products  Indekset, hvor name  feltet har datatypen text og prisfeltet har datatypen float. Dette sikrer, at når Elasticsearch den modtager nye dokumenter til products  indekset, vil den gemme og behandle name  felterne og "pris" i henhold til de definerede datatyper.

Index og Mapping spiller afgørende roller i at organisere og administrere data i Elasticsearch. De hjælper Elasticsearch effektivt med at forstå og behandle data, optimere søge- og forespørgselsoperationer og giver systemet fleksible skalerbarhedsfunktioner.