在elasticsearch中搜索多个类型

时间:2016-04-22 12:18:58

标签: elasticsearch

我有一个用例,在同一个索引中有两种不同的类型。两种类型都有不同的结构和映射。

我需要使用不同的查询DSL同时查询这两种类型。

如何构建我的查询DSL以同时查询同一索引的多种类型。

我查看了https://www.elastic.co/guide/en/elasticsearch/guide/current/multi-index-multi-type.html的弹性搜索指南,但这里没有正确的解释。根据这个,即使我在我的请求中设置了两种不同的类型:

/index/type1,type2/_search

我将不得不发送相同的查询DSL。

1 个答案:

答案 0 :(得分:8)

您需要使用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}
'

注意:确保按换行符(包括最后一行)

分隔每一行

您将以与请求相同的顺序获得两个回复