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.