Verständnis Index und Mapping in Elasticsearch

Sicher! Hier ist die Übersetzung der Erklärung und Beispiele für Index und Mapping in Elasticsearch:

Index In Elasticsearch

Ein Index In Elasticsearch ähnelt einer Datenbank in herkömmlichen Datenbankverwaltungssystemen(DBMS). Es speichert eine Sammlung verwandter Dokumente. Jedes Index entspricht normalerweise einem bestimmten Datentyp in Ihrer Anwendung. Beispielsweise können Sie in einer E-Commerce-Anwendung eine erstellen, Index um Informationen über Produkte zu speichern, und eine andere, Index um Informationen über Benutzer und Bestellungen zu speichern.

Jeder Index Teil Elasticsearch ist zur Datenverteilung in kleinere Shards unterteilt. Ein Shard ist ein kleiner Teil eines Index, und jeder Shard kann auf einem separaten Knoten innerhalb eines Elasticsearch Clusters gespeichert werden. Die Aufteilung der Daten in Shards optimiert die Such- und Abfrageleistung und verbessert die Skalierbarkeit des Systems.

Um beispielsweise eine neue Index benannte Datei products  in zu erstellen Elasticsearch, können Sie die API oder Verwaltungstools wie Kibana verwenden, um den folgenden Befehl auszuführen:

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

Im obigen Beispiel haben wir eine mit jeweils Index products 3 shard und 2 erstellt, um Verfügbarkeit und Datensicherung sicherzustellen. replica shard

 

Mapping In Elasticsearch

Mapping ist der Prozess der Definition, wie Elasticsearch Daten innerhalb eines. gespeichert und verarbeitet werden Index. Wenn Sie ein neues Dokument zu einem hinzufügen Index, Elasticsearch wird Mapping der Datentyp jedes Felds im Dokument bestimmt. Dies hilft Elasticsearch zu verstehen, wie Daten in verschiedenen Bereichen verarbeitet und durchsucht werden.

Wenn wir beispielsweise ein haben und die Felder (Produktname) und(Produktpreis) als Text- bzw. Float-Typen Index products definieren möchten  , können wir den folgenden Befehl ausführen: Mapping name price

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

Im obigen Beispiel haben wir Mapping für den products  Index definiert, wobei das name  Feld den Datentyp text und das Preisfeld den Datentyp hat float. Dadurch wird sichergestellt, dass beim Elasticsearch Empfang neuer Dokumente für den Index die  Felder „Preis“ und „Preis“ gemäß den definierten Datentypen products  gespeichert und verarbeitet werden. name

Index und Mapping spielen eine entscheidende Rolle bei der Organisation und Verwaltung von Daten in Elasticsearch. Sie helfen dabei, Elasticsearch Daten effizient zu verstehen und zu verarbeiten, Such- und Abfragevorgänge zu optimieren und bieten flexible Skalierbarkeitsmöglichkeiten für das System.