Elasticsearch:批量搜索是否可行?

18

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

1个回答

20

是的,您可以使用多搜索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. 请确保在最后一个查询之后添加额外的换行符。

计数方面是否也有相同的功能?编辑:_msearch + size: 0 可以解决问题。 - stan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接