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.