【问题标题】:Elasticsearch limit count resultElasticsearch 限制计数结果
【发布时间】:2018-04-08 02:03:12
【问题描述】:

在 Elasticsearch 中如何将计数结果限制为最大 1000?

所以,如果 count 有 400 个结果,那么它会响应 400,如果 count 有 1200,它会响应 1000。

我们需要显示一个分页,分页只在页面上显示5个索引,示例 1 2 3 4 5 3 4 5 6 7 4 5 6 7 8

所以当我们显示索引为 5 的页面时,我们需要显示分页 3 4 5 6 7 前 2 页和后 2 页 因此,当我们显示索引为 5 的页面时,我们只需要知道索引为 6 和 7 的页面是否存在

【问题讨论】:

  • 你试过什么?
  • 获取 /twitter/_doc/_count?q=user:kimchy
  • 说真的...one search away
  • @Frank 它将无限返回所有可能结果的计数?
  • 在查询中设置size参数为1000

标签: elasticsearch count pagination


【解决方案1】:

默认情况下response body of a search 会给你:

  1. 各种元信息,包括hits.total,即您的查询的总命中数。
  2. 默认情况下,您查询的前 10 个结果。

即使在您进行分页时(请记住,深度分页的成本很高,应该避免),hits.total 也会向您显示总点击量。

设置命中的最大值(在您的示例中为 1,200 时显示 1,000)是 IMO 而不是您的数据存储的角色。只是您使用的任何编程语言的最小功能:Math.min(hits.total, 1000)

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2018-05-09
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2018-10-08
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多