Elasticsearch, объединение двух индексов во время индекса с помощью logstash - PullRequest
0 голосов
/ 27 марта 2019

Хорошо ,asticsearch не выполняет объединение для вас.Таким образом, вы должны присоединиться и индексировать целые данные во время индексации.

Я подумал, что это может быть распространенный сценарий, и для этого может быть решение, о котором я не знаю ..

Я думаю следующее:

client => logstash => elasticsearch (в отличие от client = >asticsearch)

  1. когда клиент индексирует документ, он отправляется в logstash, например: user-id, item-id, purchase-time.
  2. logstash просматривает поле и находит предопределенные поля для объединения.
    с учетом user-id, извлечение user из user-index.
    с учетом item-id, получениеitem из item-index.
    добавить поля user и item к записи о покупке.

  3. logstash индексирует документ (user-id, user, item-id, item, purchase-time) в закупочный индекс

Итак,

  1. настроить ввод http для logstash
  2. использовать плагин фильтра эластичного поиска для извлечения данных из других индексов
  3. использовать плагин вывода эластичного поиска для индексирования документа

  4. создатьотдельный файл logstash.conf для каждого сценария, в котором вы хотите join

Есть ли лучшая альтернатива?

...