Mam 2 indeksy w mojej konfiguracji Elasticsearch.Jak wykonać negatywne zapytanie łączące w ES
- index_a
- index_b
index_a
ma pole location
i mają około 1000 dokumentów, w których jako index_b
ma pole city
i mają około 600 dokumentów.
Chcę dowiedzieć się wszystkich locations
od index_a
, które nie są w polu city
w index_b
. Jakie zapytanie należy wykonać, aby osiągnąć powyższe?
Wykonujesz dwa zapytania (wybierz wszystko z indeksu_b, a następnie przeprowadź wyszukiwanie w indeksie). Elasticsearch nie jest w stanie "połączyć" w żaden sposób dwóch indeksów w jednym zapytaniu, a raczej woli mieć denormalizowane dane, ** lub ** używać relacji "zagnieżdżony" lub relacji rodzic-dziecko. –
Jak wspomina @AndreiStefan, może to być lepiej obsługiwane na poziomie aplikacji. – JVXR
http://stackoverflow.com/questions/29799207/is-it-possible-to-compare-two-fields-from-different-types-on-a-query-dsl – CodeNotFound