Begrip Index en Mapping in Elasticsearch

Zeker! Hier is de vertaling van de uitleg en voorbeelden voor Index en Mapping in Elasticsearch:

Index in Elasticsearch

Een Index in Elasticsearch is vergelijkbaar met een database in traditionele databasebeheersystemen(DBMS). Het slaat een verzameling gerelateerde documenten op. Elk Index komt doorgaans overeen met een specifiek type gegevens in uw toepassing. In een e-commercetoepassing kunt u bijvoorbeeld een maken Index om informatie over producten op te slaan, en een andere Index om informatie over gebruikers en bestellingen op te slaan.

Elke Index in Elasticsearch is verdeeld in kleinere scherven voor gegevensdistributie. Een Shard is een klein onderdeel van een Index, en elke Shard kan worden opgeslagen op een apart knooppunt binnen een Elasticsearch cluster. Het splitsen van gegevens in shards optimaliseert de zoek- en queryprestaties en verbetert de schaalbaarheid van het systeem.

Om bijvoorbeeld een nieuwe Index named products  in te maken Elasticsearch, kunt u de API of beheertools zoals Kibana gebruiken om de volgende opdracht uit te voeren:

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

In het bovenstaande voorbeeld hebben we een gemaakt Index products met 3 shard en 2 replica van elk shard om beschikbaarheid en gegevensback-up te garanderen.

 

Mapping in Elasticsearch

Mapping is het proces waarbij wordt gedefinieerd hoe Elasticsearch gegevens worden opgeslagen en verwerkt in een Index. Wanneer u een nieuw document toevoegt aan een Index, Elasticsearch wordt gebruikt Mapping om het gegevenstype van elk veld in het document te bepalen. Dit helpt Elasticsearch te begrijpen hoe gegevens in verschillende velden moeten worden verwerkt en doorzocht.

Als we bijvoorbeeld een hebben Index products en willen definiëren Mapping voor de velden name(productnaam) en price  (productprijs) als respectievelijk tekst- en float-typen, kunnen we de volgende opdracht uitvoeren:

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

Mapping In het bovenstaande voorbeeld hebben we voor de products  Index gedefinieerd, waarbij het name  veld het gegevenstype heeft text en het prijsveld het gegevenstype float. Dit zorgt ervoor dat wanneer Elasticsearch nieuwe documenten voor de products  Index worden ontvangen, de velden en "prijs" worden opgeslagen en verwerkt name  volgens de gedefinieerde gegevenstypen.

Index en Mapping spelen een cruciale rol bij het organiseren en beheren van gegevens in Elasticsearch. Ze helpen Elasticsearch gegevens efficiënt te begrijpen en te verwerken, zoek- en querybewerkingen te optimaliseren en flexibele schaalbaarheidsmogelijkheden voor het systeem te bieden.