2016-04-22 67 views
2

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

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

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

我看了一下https://www.elastic.co/guide/en/elasticsearch/guide/current/multi-index-multi-type.html的elasticsearch指南,但是这里没有合适的解释。根据这个即使我设置了我的请求两种不同类型:

/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} 
' 

注:一定要通过换行每行(包括最后一行)

分开你会得到相同的顺序两个响应作为请求

相关问题