在Elasticsearch中搜索多种类型

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

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

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

我在https://www.elastic.co/guide/en/elasticsearch/guide/current/multi-index-

multi-

type.html上查看了Elasticsearch指南,但此处没有适当的解释。根据此即使我在请求中设置了两种不同的类型:

/index/type1,type2/_search

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

回答:

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

'

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

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

以上是 在Elasticsearch中搜索多种类型 的全部内容, 来源链接: utcz.com/qa/401728.html

回到顶部