我有一个用例,其中同一索引中有两种不同的类型。这两种类型都有不同的结构和映射。
我需要使用不同的查询 DSL 同时查询这两种类型。
如何构建我的查询 DSL 以同时查询超过一种类型的相同索引。
我在 https://www.elastic.co/guide/en/elasticsearch/guide/current/multi-index-multi-type.html 查看了 elasticsearch 指南但这里没有适当的解释。根据这个,即使我在请求中设置了两种不同的类型:
/index/type1,type2/_search
我将不得不发送相同的查询 DSL。
最佳答案
您需要使用 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}
'
注意:确保用换行符分隔每一行(包括最后一行)
您将按照与请求相同的顺序获得两个响应
关于elasticsearch - 在elasticsearch中搜索多种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36793682/