Înțelegerea Index și Mapping în Elasticsearch

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.