Elasticsearch
Apprendimento di Elasticsearch con kibana
Ricerca…
introduzione
Kibana è uno strumento di visualizzazione dei dati front-end per elasticsearch. per l'installazione di kibana consultare la documentazione di kibana. Per eseguire kibana su localhost, vai su https: // localhost: 5601 e vai alla console di kibana.
Esplora il tuo Cluster usando Kibana
La sintassi del comando sarà del seguente tipo:
<REST Verb> /<Index>/<Type>/<ID>
Esegui il seguente comando per esplorare il cluster elasticsearch tramite Kibana Console.
- Per verificare la salute del cluster
GET /_cat/health?v
- Per elencare tutti gli indici
GET /_cat/indices?v
- Per creare un indice con nome auto
PUT /car?pretty
- Per l'indicizzazione del documento con nome auto di tipo esterno utilizzando id 1
PUT /car/external/1?pretty
{
"name": "Tata Nexon"
}
la risposta della query precedente sarà:
{
"_index": "car",
"_type": "external",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true
}
- il recupero del documento sopra può essere fatto usando:
GET /car/external/1?pretty
- Per l'eliminazione di un indice
DELETE /car?pretty
Modifica i tuoi dati di elasticsearch
Elasticsearch offre funzionalità di manipolazione dei dati e ricerca dei dati in tempo quasi reale. sotto questo esempio, abbiamo operazioni di aggiornamento, eliminazione e elaborazione in batch.
- Aggiornamento dello stesso documento. Supponiamo di aver già indicizzato un documento su / car / external / 1. Quindi l'esecuzione del comando per l'indicizzazione dei dati sostituisce il documento precedente.
PUT /car/external/1?pretty
{
"name": "Tata Nexa"
}
il precedente documento dell'automobile con ID 1 con il nome "Tata Nexon" verrà aggiornato con il nuovo nome "Tata Nexa"
- indicizzazione dei dati con ID esplicito
POST /car/external?pretty
{
"name": "Jane Doe"
}
per l'indicizzazione del documento senza un ID usiamo verbo POST anziché verbo PUT . se non forniamo un ID, elasticsearch genererà un ID casuale e quindi lo userà per indicizzare il documento.
- Aggiornamento parziale del documento precedente a un ID.
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nex" }
}
- aggiornamento del documento con informazioni aggiuntive
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nexon", "price": 1000000 }
}
- aggiornare il documento usando semplici script.
POST /car/external/1/_update?pretty
{
"script" : "ctx._source.price += 50000"
}
ctx._source si riferisce al documento sorgente corrente che sta per essere aggiornato. Sopra lo script fornisce solo uno script da aggiornare allo stesso tempo.
- Cancellare il documento
DELETE /car/external/1?pretty
Nota: l'eliminazione di un intero indice è più efficace dell'eliminazione di tutti i documenti utilizzando Elimina per API di query
Elaborazione in lotti
Oltre all'indicizzazione dell'aggiornamento e all'eliminazione del documento, elasticsearch fornisce anche la possibilità di eseguire una delle operazioni sopra elencate in batch utilizzando l'API _bulk .
- per l'aggiornamento di più documenti usando l' API _bulk
POST /car/external/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "Tata Nexon" }
{"index":{"_id":"2"}}
{"name": "Tata Nano" }
- per l'aggiornamento e l'eliminazione dei documenti usando _bulk API
POST /car/external/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "Tata Nano" } }
{"delete":{"_id":"2"}}
Se un'operazione fallisce, l'API di massa non si ferma. Esegue tutte le operazioni e infine restituisce il rapporto per tutte le operazioni.