Поиск ElasticSearch по двум индексам, имеющим отношения один ко многим - PullRequest
0 голосов
/ 13 июня 2018

Я индексирую таблицу оракулов вasticsearch, используя logstash.Но здесь у меня есть одно требование, которое имеет 1 ко многим отношениям с другой таблицей.например,

Таблица продуктов

id          code
1001        AB-1234-01-T
1002        AB-5678-01-T
1003        CD-1234-02-T
1004        EF-1234-03-T
1005        AB-1234-02-T
1006        XY-1234-02-T

Таблица ссылок

Prod_id     Link_id     Type
1002        1003        Reg
1002        1004        Reg
1002        1005        Reg
1002        1001        Reg
1002        1006        Reg
1007        1008        AVL

Если я ищу код AB-5678-01-T в таблице product.

Step 1 :  it should take `id` for the code `AB-5678-01-T` from `product` table.
Step 2 :  it should check `prod_id`  field in `Link` table where the `id` (product table) is available or not and the `type` should be `Reg`.
Step 3 :  If the `prod_id` available of `type` `Reg`, take all the `Link_id` from the `Link` table.
Step 4 :  it should check in `id` field of `product` table and return the corresponding `code` as a result

он должен вернуть следующие результаты.

Результаты

CD-1234-02-T
EF-1234-03-T
AB-1234-02-T
AB-1234-01-T
XY-1234-02-T

Любая идея от кого-либо, как мы можем выполнить это требование вasticsearch, нужно ли намсоздайте два индекса для каждой таблицы и выполните поиск или любой другой способ .?

...