Förståelse Index och Mapping in Elasticsearch

Säker! Här är översättningen av förklaringen och exempel för Index och Mapping i Elasticsearch:

Index i Elasticsearch

En Index in Elasticsearch liknar en databas i traditionella databashanteringssystem(DBMS). Den lagrar en samling relaterade dokument. Var och en Index motsvarar vanligtvis en specifik typ av data i din applikation. Till exempel, i en e-handelsapplikation kan du skapa en Index för att lagra information om produkter, en annan Index för att lagra information om användare och beställningar.

Varje Index in Elasticsearch är uppdelad i mindre skärvor för datadistribution. En Shard är en liten del av en Index, och varje Shard kan lagras på en separat nod inom ett Elasticsearch kluster. Att dela upp data i skärvor optimerar sök- och frågeprestanda och förbättrar systemets skalbarhet.

Till exempel, för att skapa en ny Index namngiven products  i Elasticsearch, kan du använda API eller hanteringsverktyg som Kibana för att utföra följande kommando:

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

I exemplet ovan har vi skapat en Index products med 3 shard och 2 replica av varje shard för att säkerställa tillgänglighet och säkerhetskopiering av data.

 

Mapping i Elasticsearch

Mapping är processen att definiera hur Elasticsearch data lagras och behandlas inom en Index. När du lägger till ett nytt dokument i ett, Index används Elasticsearch för Mapping att bestämma datatypen för varje fält i dokumentet. Detta hjälper till Elasticsearch att förstå hur man bearbetar och söker data inom olika områden.

Om vi ​​till exempel har ett Index products och vill definiera Mapping för fälten name(produktnamn) och price  (produktpris) som text- respektive flyttyper, kan vi utföra följande kommando:

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

I exemplet ovan har vi definierat Mapping för products  Indexet, där name  fältet har datatypen text och prisfältet har datatypen float. Detta säkerställer att när Elasticsearch den tar emot nya dokument för products  Indexet kommer den att lagra och bearbeta name  fälten och "pris" enligt de definierade datatyperna.

Index och Mapping spelar avgörande roller för att organisera och hantera data i Elasticsearch. De hjälper till Elasticsearch att effektivt förstå och bearbeta data, optimera sök- och frågeoperationer och tillhandahåller flexibla skalbarhetsmöjligheter för systemet.