Elasticsearch:批量搜索可能吗?

时间:2016-01-20 12:45:45

标签: elasticsearch elasticsearch-dsl elasticsearch-query

我知道支持批量索引操作。但搜索查询是否也可以这样做?我想发送许多不同的无关查询(进行精确/召回测试),使用批量查询可能会更快

1 个答案:

答案 0 :(得分:13)

是的,您可以使用multi search API/_msearch端点一次性发送任意数量的查询。

curl -XPOST localhost:9200/_msearch -d '
{"index" : "test1"}
{"query" : {"match_all" : {}}, "from" : 0, "size" : 10}
{"index" : "test2"}
{"query" : {"match_all" : {}}}
'

您将获得一个responses数组,其中每个查询的响应顺序与请求中的顺序相同。

注意:

  1. 确保用换行符
  2. 分隔每一行
  3. 确保在上次查询后添加额外的换行符。