当前位置: 首页 > 知识库问答 >
问题:

Elasticsearch聚合分页

欧阳俊明
2023-03-14

是否有任何方法可以使用带聚合的弹性搜索进行分页?elasticsearch版本为2.3。以下是查询:

{
  "query": {
    "match": {
      "clientMac": "88:"
    }
  },
  "aggs": {
    "top_tags": {
      "terms": {
        "field": "clientMac.rawData"
      },
      "aggs": {
        "top_client_hits": {
          "top_hits": {
            "sort": [
              {
                "event_timestamp": {
                  "order": "desc"
                }
              }
            ],
            "_source": {
              "includes": [
                "event_timestamp"
              ]
            },
            "size": 1
          }
        }
      }
    }
  }
}

共有1个答案

谢修真
2023-03-14

从elastic 5中,您确实能够通过对术语聚合的桶进行分区。您可以在此处阅读:https://www.elastic.co/guide/en/elasticsearch/reference/5.5/search-aggregations-bucket-terms-aggregation.html#_filtering_values_with_partitions

 类似资料:
  • 问题内容: 想象一下,我有两种记录:一个存储桶和一个项目,其中存储在存储桶中的项目,而存储桶中的项目可能相对较少(通常不超过4个,从不超过10个)。这些记录被压缩为一个(具有更多存储桶信息的项目),并放置在Elasticsearch中。我要解决的任务是通过依赖项属性的过滤查询一次找到500个存储桶(最大),其中包含所有相关项,而我受困于限制/抵消聚合。我该如何执行此类任务?我看到聚合使我可以控制相

  • 框架集合由搜索查询选择的所有数据。框架中包含许多构建块,有助于构建复杂的数据描述或摘要。聚合的基本结构如下所示 - 有以下不同类型的聚合,每个都有自己的目的 - 指标聚合 这些聚合有助于从聚合文档的字段值计算矩阵,并且某些值可以从脚本生成。 数字矩阵或者是平均聚合的单值,或者是像一样的多值。 平均聚合 此聚合用于获取聚合文档中存在的任何数字字段的平均值。 例如, 请求正文 响应 如果该值不存在于一

  • 问题内容: 我似乎无法以某种方式收到包含我的聚合的响应… 使用curl可以按预期工作: 我得到答复: 但是在rails中使用代码: 并在浏览器中呈现 我得到一个空的答复: 如何在这里打印出卷曲的聚集体? 问题答案: 我也在为此而苦苦挣扎,但是现在我发现了如何获得聚合结果。 如果您将 elasticsearch-rails 与 elasticsearch-model gem一起使用,则在 模型上 运

  • 我正在尝试使用Elasticsearch(2.4)聚合对使用该查询的多个索引按“productId”分组 1) 我想按分数排序,所以我尝试使用 哪个返回 2) 此外,我正在尝试使用分页,“size”键实际起作用,但“from”键不起作用 **更新-聚合结果示例** 希望有人能帮忙

  • 问题内容: 我正在尝试使用以下查询对以下数据进行elasticsearch来执行术语聚合,输出将名称分解为标记(请参见下面的输出)。因此,我尝试将os_name映射为multi_field,但现在无法通过它查询。是否可以有没有令牌的索引?例如“ Fedora Core”? 查询: 数据: 输出: 映射: 问题答案: 实际上,您应该像这样更改映射 并且您的aggs应该更改为:

  • 问题内容: 我想按top_hit的doc.score订购存储桶。我当前的实现如下。 这是错误的,因为存储桶是按其最高得分而不是其source_priority文档最高得分排序的。有办法解决这个问题吗? 问题答案: 我遇到了同样的问题,而解决问题的方法是在docs得分上引入子汇总。然后在我的外部聚合中,我按max_score聚合的名称排序。 我遵循了此链接上的指示: http://www.elast