Elasticsearch
Изучение Elasticsearch с кибаной
Поиск…
Вступление
Kibana - это инструмент визуализации данных переднего конца для поиска elastics. для установки кибаны относятся к документации по кибане. Для запуска kibana на localhost перейдите в https: // localhost: 5601 и перейдите на консоль kibana.
Исследуйте свой кластер, используя Kibana
Синтаксис команды будет иметь следующий тип:
<REST Verb> /<Index>/<Type>/<ID>
Выполните следующую команду для изучения кластера elasticsearch через Kibana Console.
- Для проверки работоспособности кластера
GET /_cat/health?v
- Для перечисления всех индексов
GET /_cat/indices?v
- Для создания индекса с именем автомобиля
PUT /car?pretty
- Для индексирования документа с именем автомобиля внешнего типа с использованием идентификатора 1
PUT /car/external/1?pretty
{
"name": "Tata Nexon"
}
ответ вышеуказанного запроса будет:
{
"_index": "car",
"_type": "external",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true
}
- получение вышеуказанного документа может быть выполнено с использованием:
GET /car/external/1?pretty
- Для удаления индекса
DELETE /car?pretty
Измените данные поиска elasticsearch
Elasticsearch обеспечивает возможности манипулирования данными и поиска данных практически в реальном времени. в этом примере у нас есть операции обновления, удаления и пакетной обработки.
- Обновление одного и того же документа. Предположим, мы уже проиндексировали документ на / car / external / 1. Затем запуск команды для индексирования данных заменяет предыдущий документ.
PUT /car/external/1?pretty
{
"name": "Tata Nexa"
}
предыдущий документ автомобиля на id 1 с именем «Tata Nexon» будет обновлен с новым названием «Tata Nexa»,
- индексирование данных с явным идентификатором
POST /car/external?pretty
{
"name": "Jane Doe"
}
для индексации документа без Id мы используем глагол POST вместо глагола PUT . если мы не предоставим идентификатор, elasticsearch будет генерировать случайный идентификатор, а затем использовать его для индексации документа.
- Некорректное обновление предыдущего документа на Id.
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nex" }
}
- обновление документа с дополнительной информацией
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nexon", "price": 1000000 }
}
- обновляя документ с помощью простых скриптов.
POST /car/external/1/_update?pretty
{
"script" : "ctx._source.price += 50000"
}
ctx._source ссылается на текущий исходный документ, который должен быть обновлен. Выше сценарий позволяет одновременно обновлять только один скрипт.
- Удаление документа
DELETE /car/external/1?pretty
Примечание. Удаление всего индекса более эффективно, чем удаление всех документов с помощью команды «Удалить по запросу»
Пакетная обработка
Помимо индексации обновления и удаления документа, elasticsearch также предоставляет возможность выполнять любую из вышеперечисленных операций партиями с использованием API _bulk .
- для обновления нескольких документов с использованием API _bulk
POST /car/external/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "Tata Nexon" }
{"index":{"_id":"2"}}
{"name": "Tata Nano" }
- для обновления и удаления документов с использованием API _bulk
POST /car/external/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "Tata Nano" } }
{"delete":{"_id":"2"}}
Если операция завершается неудачно, объемный API не прекращается. Он выполняет все операции и, наконец, возвращает отчет для всех операций.