【发布时间】:2019-02-05 06:50:30
【问题描述】:
我正在尝试使用 python 中的 elasticsearch-dsl 包获取所有行的计数和列中不同值的计数。
我对弹性搜索相当陌生,所以如果我问了一个愚蠢的问题,我深表歉意,但我已经阅读了所有可用的文档并且无法弄清楚这一点。
对此的任何帮助将不胜感激!
为了获取所有行的计数,我使用了 '.aggs.metric(),它工作正常,为了获取不同值的计数,我尝试了 .bucket('terms') 和 .bucket ('cardinality') 没有返回我想要的。
对于总行数:
s = Search(using=client, index="<index_name>")
s.aggs.metric('total', 'sum', field = '<column>')
s = s.execute()
s.aggregations.total.value
对于列中不同值的计数:
s = Search(using=client, index="brandcleanerv2")
s.aggs.metric('by_cluster', 'cardinality', field='cluster')
s = s.execute()
第二个代码 sn-p 返回 10 行,我也尝试在 .bucket() 中使用 'terms' 参数,但它返回了列中每个不同值的出现次数,而且也仅适用于10 个值。
【问题讨论】:
标签: python aggregation elasticsearch-dsl