Sigur! Iată traducerea explicației și a exemplelor pentru Index și Mapping în Elasticsearch:
Index în Elasticsearch
Un Index in Elasticsearch este similar cu o bază de date în sistemele tradiționale de gestionare a bazelor de date(DBMS). Stochează o colecție de documente conexe. Fiecare Index corespunde de obicei unui anumit tip de date din aplicația dvs. De exemplu, într-o aplicație de comerț electronic, puteți crea o aplicație Index pentru a stoca informații despre produse, alta Index pentru a stoca informații despre utilizatori și comenzi.
Fiecare Index in Elasticsearch este împărțit în fragmente mai mici pentru distribuirea datelor. Un Shard este o mică parte a unui Index, și fiecare Shard poate fi stocat pe un nod separat dintr-un Elasticsearch cluster. Împărțirea datelor în fragmente optimizează performanța căutării și interogărilor și îmbunătățește scalabilitatea sistemului.
De exemplu, pentru a crea un nou Index nume products
în Elasticsearch, puteți utiliza API-ul sau instrumente de management precum Kibana pentru a executa următoarea comandă:
PUT /products
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
}
}
În exemplul de mai sus, am creat Index products
câte 3 shard
și 2 replica
din fiecare shard
pentru a asigura disponibilitatea și backupul datelor.
Mapping în Elasticsearch
Mapping este procesul de definire a modului în care Elasticsearch stochează și procesează datele într-un Index. Când adăugați un document nou într-un Index, Elasticsearch folosește Mapping pentru a determina tipul de date al fiecărui câmp din document. Acest lucru vă ajută Elasticsearch să înțelegeți cum să procesați și să căutați date în diferite câmpuri.
De exemplu, dacă avem Index products
și dorim să definim Mapping pentru câmpurile name
(nume produs) și price
(prețul produsului) ca tipuri de text și, respectiv, float, putem executa următoarea comandă:
PUT /products/_mapping
{
"properties": {
"name": {
"type": "text"
},
"price": {
"type": "float"
}
}
}
În exemplul de mai sus, am definit Mapping pentru products
Index, câmpul name
având tipul de date text
și câmpul preț având tipul de date float
. Acest lucru asigură că atunci când Elasticsearch primește noi documente pentru products
Index, acesta va stoca și procesa name
câmpurile și „preț” conform tipurilor de date definite.
Index și Mapping joacă roluri cruciale în organizarea și gestionarea datelor în Elasticsearch. Acestea ajută Elasticsearch la înțelegerea și procesarea eficientă a datelor, la optimizarea operațiunilor de căutare și interogare și oferă capabilități flexibile de scalabilitate pentru sistem.