Logstash для Elasticsearch, обновить денормализованные данные - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть две таблицы.

Таблица A имеет три поля: (aid, aname, fid)

  • aid - это первичный ключ этой таблицы
  • fid - это внешний ключ (связанный стаблица B) этой таблицы.

В таблице B есть три поля: (fid, fname, fage).

Чтобы реализовать связанный запрос к таблице A и таблице B вasticsearch, я использовал методденормализация данных.Для этого я построил два индекса.

PUT index_a
{
   "mappings": {
      "doc" : {
         "properties": {
            "aid" : { "type" : "keyword" },
            "aname" : { "type" : "keyword" },
            "fid" : { "type" : "keyword" },
            "fname" : { "type" : "keyword" },
            "fage" : { "type" : "integer"}
         }
      }
   }
}

PUT index_b
{
   "mappings": {
      "doc" : {
         "properties": {
            "fid" : { "type" : "keyword" },
            "fname" : { "type" : "keyword" },
            "fage" : { "type" : "integer"}
         }
      }
   }
}

Я хочу синхронизировать данные таблицы mysql A и B с двумя индексами через logstash.Когда данные таблицы B изменяются, обновляется не только index_b, но также index_a.Например, когда fname изменяется в данных fid = 1 в таблице B, мне нужно обновить fname всех данных fid = 1 в index_a.Как эта функция может быть реализована в logstash, то есть обновлять несколько документов одновременно и только Обновить fname

...