一尘不染

在Elasticsearch中搜索多种类型

elasticsearch

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

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

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

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

/index/type1,type2/_search

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


阅读 344

收藏
2020-06-22

共1个答案

一尘不染

您需要使用多重搜索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}
'

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

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

2020-06-22