Elasticsearch
Aprendiendo Elasticsearch con kibana
Buscar..
Introducción
Kibana es la herramienta de visualización de datos de front-end para elasticsearch. para instalar kibana consulte la documentación de kibana. Para ejecutar kibana en localhost, vaya a https: // localhost: 5601 y vaya a la consola de kibana.
Explora tu Clúster utilizando Kibana
La sintaxis del comando será del siguiente tipo:
<REST Verb> /<Index>/<Type>/<ID>
Ejecute el siguiente comando para explorar el clúster elasticsearch a través de la Consola Kibana.
- Para comprobar el estado del clúster.
GET /_cat/health?v
- Para listar todos los índices.
GET /_cat/indices?v
- Para crear un índice con nombre car
PUT /car?pretty
- Para indexar el documento con nombre car de tipo externo usando id 1
PUT /car/external/1?pretty
{
"name": "Tata Nexon"
}
La respuesta de la consulta anterior será:
{
"_index": "car",
"_type": "external",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true
}
- la recuperación del documento anterior se puede hacer usando:
GET /car/external/1?pretty
- Para borrar un índice
DELETE /car?pretty
Modifique sus datos de elasticsearch
Elasticsearch proporciona capacidades de manipulación y búsqueda de datos en casi tiempo real. En este ejemplo, tenemos operaciones de actualización, eliminación y procesamiento por lotes.
- Actualizando el mismo documento. Supongamos que ya hemos indexado un documento en / car / external / 1. Luego, al ejecutar el comando para indexar los datos se reemplaza el documento anterior.
PUT /car/external/1?pretty
{
"name": "Tata Nexa"
}
El documento anterior del automóvil en la identificación 1 con el nombre "Tata Nexon" se actualizará con el nuevo nombre "Tata Nexa"
- indexando los datos con identificación explícita
POST /car/external?pretty
{
"name": "Jane Doe"
}
para indexar el documento sin un ID usamos el verbo POST en lugar del verbo PUT . Si no proporcionamos una identificación, elasticsearch generará una identificación aleatoria y luego la usará para indexar el documento.
- Actualización del documento anterior en un ID parcialmente.
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nex" }
}
- Actualización del documento con información adicional.
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nexon", "price": 1000000 }
}
- Actualización del documento mediante scripts simples.
POST /car/external/1/_update?pretty
{
"script" : "ctx._source.price += 50000"
}
ctx._source se refiere al documento fuente actual que está a punto de actualizarse. La secuencia de comandos anterior solo proporciona una secuencia de comandos para actualizar al mismo tiempo.
- Borrando el documento
DELETE /car/external/1?pretty
Nota: eliminar un índice completo es más eficaz que eliminar todos los documentos mediante la función Eliminar por API de consulta
Procesamiento por lotes
Además de indexar la actualización y la eliminación del documento, elasticsearch también brinda la posibilidad de realizar cualquiera de las operaciones anteriores en lotes utilizando la API _bulk .
- para actualizar múltiples documentos usando _bulk API
POST /car/external/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "Tata Nexon" }
{"index":{"_id":"2"}}
{"name": "Tata Nano" }
- para actualizar y borrar los documentos usando _bulk API
POST /car/external/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "Tata Nano" } }
{"delete":{"_id":"2"}}
Si una operación falla, la API masiva no se detiene. Ejecuta todas las operaciones y finalmente devuelve el informe para todas las operaciones.