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.