【问题标题】:elasticsearch-dsl python count of unique values for a keyelasticsearch-dsl python 键的唯一值计数
【发布时间】:2021-11-27 20:53:55
【问题描述】:

我要做的是一个非常简单的查询,它只计算唯一键的数量:一个(帐号)

search = Search(using=client, index=index_name).query(
         {
          "range": {
            "date": {
              "gte": "2021-08-01T08:00:00.000Z",
              "lte": "2021-08-31T23:59:59.599Z"
            }
        }
    })


#Make a query that checks how many account numbers (an) are in the index
search.sort({"count": {"order": "desc",  "mode" : "count"}})
search.aggs.bucket("an","cardinality",field="an")
es_data = search.execute()
print(es_data)

结果不会产生唯一 an 的计数,而是似乎只是在响应中列出了数据行。

我希望它回应的是这样的

an: 100 表示数据库中存在的 100 个不同的帐号

【问题讨论】:

    标签: python-3.x elasticsearch elasticsearch-dsl


    【解决方案1】:

    解决了。替换:

    search.sort({"count": {"order": "desc",  "mode" : "count"}})
    search.aggs.bucket("an","cardinality",field="an")
    es_data = search.execute()
    

    与:

    search.aggs.metric("by_cluster","cardinality",field="an")
    es_data = search.execute()
    pcc_count = es_data.aggregations.by_cluster.value
    

    现在我得到了 1 个带有唯一计数的指标

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 2016-08-21
      • 2016-07-21
      • 1970-01-01
      • 2019-10-28
      • 2019-10-09
      相关资源
      最近更新 更多