Zrozumienie Index i Mapping w Elasticsearch

Jasne! Oto tłumaczenie wyjaśnienia i przykładów dla Index i Mapping w Elasticsearch:

Index W Elasticsearch

In jest podobny do bazy danych w tradycyjnych systemach zarządzania bazami danych(DBMS) Index. Elasticsearch Przechowuje zbiór powiązanych dokumentów. Każdy Index zazwyczaj odpowiada określonemu typowi danych w Twojej aplikacji. Na przykład w aplikacji e-commerce możesz utworzyć jedną Index do przechowywania informacji o produktach, drugą Index do przechowywania informacji o użytkownikach i zamówieniach.

Każdy Index in Elasticsearch jest podzielony na mniejsze fragmenty w celu dystrybucji danych. Shard to niewielka część Index, a każdy Shard może być przechowywany w oddzielnym węźle w Elasticsearch klastrze. Podział danych na fragmenty optymalizuje wydajność wyszukiwania i zapytań oraz zwiększa skalowalność systemu.

Na przykład, aby utworzyć nową Index nazwę products  w Elasticsearch, możesz użyć interfejsu API lub narzędzi do zarządzania, takich jak Kibana, aby wykonać następujące polecenie:

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

W powyższym przykładzie utworzyliśmy Index products 3 shard i 2 replica z każdego, shard aby zapewnić dostępność i tworzenie kopii zapasowych danych.

 

Mapping W Elasticsearch

Mapping to proces definiowania, w jaki sposób Elasticsearch przechowuje i przetwarza dane w pliku Index. Kiedy dodajesz nowy dokument do Index, Elasticsearch używa Mapping do określenia typu danych każdego pola w dokumencie. Pomaga to Elasticsearch zrozumieć, jak przetwarzać i wyszukiwać dane w różnych dziedzinach.

Na przykład, jeśli mamy Index products i chcemy zdefiniować Mapping dla pól name(nazwa produktu) i price  (cena produktu) odpowiednio typy tekstowe i zmiennoprzecinkowe, możemy wykonać następujące polecenie:

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

W powyższym przykładzie zdefiniowaliśmy Mapping dla products  Indeksu, gdzie name  pole ma typ danych text, a pole ceny ma typ danych float. Gwarantuje to, że po Elasticsearch otrzymaniu nowych dokumentów do products  Indeksu będzie przechowywać i przetwarzać name  pola i "cena" zgodnie ze zdefiniowanymi typami danych.

Index i Mapping odgrywają kluczową rolę w organizowaniu i zarządzaniu danymi w Elasticsearch. Pomagają Elasticsearch efektywnie rozumieć i przetwarzać dane, optymalizować operacje wyszukiwania i wykonywania zapytań oraz zapewniają elastyczne możliwości skalowalności systemu.