我有一个用例,其中在同一索引中有两种不同的类型。两种类型都有不同的结构和映射。
我需要使用不同的查询DSL同时查询这两种类型。
如何构建查询DSL以同时查询多个相同索引类型。
我在https://www.elastic.co/guide/en/elasticsearch/guide/current/multi-index- multi- type.html上查看了Elasticsearch指南,但此处没有适当的解释。根据此即使我在请求中设置了两种不同的类型:
/index/type1,type2/_search
我将不得不发送相同的查询DSL。
您需要使用多重搜索API和_msearch端点
_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} '
注意:请确保每行用换行符分隔(包括最后一行)
您将以与请求相同的顺序获得两个响应