elasticsearch - 只需要汇总查询结果

标签 elasticsearch kibana elasticsearch-aggregation

我需要进行汇总,但仅使用从查询中获得的有限结果,但它无法正常工作,它会返回查询大小限制以外的其他结果。这是我正在做的查询

{
  "size": 500,
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "tags.keyword": "possiblePurchase"
          }
        },
        {
          "term": {
            "clientName": "Ci"
          }
        },
        {
          "range": {
            "firstSeenDate": {
              "gte": "now-30d"
            }
          }
        }
      ],
      "must_not": [
        {
          "term": {
            "tags.keyword": "skipPurchase"
          }
        }
      ]
    }
  },
  "sort": [
    {
      "firstSeenDate": {
        "order": "desc"
      }
    }
  ],
   "aggs": {
    "byClient": {
      "terms": {
        "field": "clientName",
        "size": 25
      },
      "aggs": {
        "byTarget": {
          "terms": {
            "field": "targetName",
            "size": 6
          },
          "aggs": {
            "byId": {
              "terms": {
                "field": "id",
                "size": 5
              }
            }
          }
        }
      }
    }
  }
}

我只需要汇总即可考虑查询的前500个结果(按我在查询中请求的字段排序)。我完全迷路了。谢谢您的帮助

最佳答案

聚合范围是查询的命中数,size参数仅用于指定要获取和显示的命中数。

如果您想限制查询的前n次匹配的聚合范围,建议结合您的查询使用采样器聚合

关于elasticsearch - 只需要汇总查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59460760/

相关文章:

elasticsearch - 单个插入没问题,但批量导入会引发 "not_x_content_exception"类型的错误

php - elasticsearch用php和curl更新文档

elasticsearch - 如何在Kibana中搜索嵌套键

elasticsearch - ElasticSearch-TopHits对嵌套聚合中的所有匹配给出相同的分数

elasticsearch - 按索引查询 Elasticsearch 嵌套字段(插入顺序)

elasticsearch - Drupal中具有DDEV和Elasticsearch连接器的问题

apache-spark - pyspark-结构化流到 Elasticsearch

elasticsearch - Kibana-设置JSON输入以获取最新的

elasticsearch - 在同一台机器上运行两个不同的ES并相应地配置kibana

Elasticsearch:桶排序聚合+字母字段排序