【问题标题】:How can I limit and sort the response from _msearch in Elasticsearch如何在 Elasticsearch 中限制和排序来自 _msearch 的响应
【发布时间】:2019-11-12 19:51:15
【问题描述】:

我在 Elasticsearch 6.4 中使用 _msearchhttps://www.elastic.co/guide/en/elasticsearch/reference/6.4/search-multi-search.html

我可以在一个 API 调用中发送多个搜索并获得组合响应。我想对响应进行排序和限制。通过为单个查询添加sortsize 参数可以轻松完成。但是我如何在_msearch 中做到这一点? _msearch 中的查询是并行运行的,所以我可以在所有查询完成后附加 sortsize 吗?

【问题讨论】:

  • 您介意显示您正在运行的查询类型吗?

标签: elasticsearch


【解决方案1】:

_msearch 提供了一个 API 来在一个请求中运行多个查询,但这些查询是独立的,不相关的。查询响应的顺序与请求顺序相同,您必须将响应与您的查询相关联(nth 查询的nth 响应 id),因此您无法对响应进行排序。

如您所说,您可以在每个查询中添加sortsize,并独立控制每个响应。

【讨论】:

  • 响应中的最大文档数将是每个查询中定义的size 总数对吗?
  • 对。主 _msearch 响应将包含响应数组。数组中的每个响应都将具有来自请求的相应请求的size。因此,响应中的总文档将是所有请求中所有 size 参数的总和。
猜你喜欢
  • 1970-01-01
  • 2021-09-20
  • 2019-04-03
  • 2017-02-19
  • 2013-01-06
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
  • 2018-12-13
相关资源
最近更新 更多