聚合扫描结果
Scan result of a aggregation
我想看看一个用户为每个用户发布了多少个独特的 link。以下是我到目前为止的想法
s.aggs.bucket('user_term', A('terms', field='user__id')).metric('url_count', A('value_count', field='link'))
但是,我还没有找到迭代该结果的方法。有办法吗?
这不会给你一个唯一的计数,只是一些具有该字段值的文档,你想使用 cardinality
代替:
s.aggs.bucket('users', 'terms', field='user.id').metric('url_count', 'cardinality', field='link')
r = s.execute()
for user in r.aggregations.users.buckets:
print(f'User {user.key} posted {user.url_count.value} links')
希望对您有所帮助
我想看看一个用户为每个用户发布了多少个独特的 link。以下是我到目前为止的想法
s.aggs.bucket('user_term', A('terms', field='user__id')).metric('url_count', A('value_count', field='link'))
但是,我还没有找到迭代该结果的方法。有办法吗?
这不会给你一个唯一的计数,只是一些具有该字段值的文档,你想使用 cardinality
代替:
s.aggs.bucket('users', 'terms', field='user.id').metric('url_count', 'cardinality', field='link')
r = s.execute()
for user in r.aggregations.users.buckets:
print(f'User {user.key} posted {user.url_count.value} links')
希望对您有所帮助