2016-04-22 3 views
2

У меня есть usecase, где есть два разных типа в одном и том же индексе. Оба типа имеют разную структуру и отображение.Поиск нескольких типов в elasticsearch

Мне нужно запросить оба типа одновременно с использованием различного DSL-запроса.

Как я могу построить мой запрос DSL для одновременного запроса более одного типа одного и того же индекса.

Я просмотрел справочник по поиску эластиков в https://www.elastic.co/guide/en/elasticsearch/guide/current/multi-index-multi-type.html, но здесь нет правильного объяснения. В соответствии с этим, даже если я задал два разных типа по моей просьбе:

/index/type1,type2/_search 

Мне нужно будет отправить тот же запрос DSL.

ответ

4

Вы должны использовать multi-search API и _msearch конечной

curl -XGET localhost:9200/index/_msearch -d ' 
{"type": "type1"} 
{"query" : {"match_all" : {}}, "from" : 0, "size" : 10} 
{"type": "type2"} 
{"query" : {"match_all" : {}}, "from" : 0, "size" : 10} 
' 

Примечание: убедитесь, чтобы отделить каждую строку новой строки (включая последнюю строку)

Вы получите два ответа в том же порядке по просьбе

Смежные вопросы