在elasticsearch中搜索多个类型

Amr*_*eya 6 elasticsearch

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

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

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

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

/index/type1,type2/_search
Run Code Online (Sandbox Code Playgroud)

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

Val*_*Val 8

您需要使用多搜索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}
'
Run Code Online (Sandbox Code Playgroud)

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

您将以与请求相同的顺序获得两个响应