use*_*297 3 duplicates elasticsearch
我们需要遍历 AWS ElasticSearch 集群 6.0 版中的所有文档,并收集所有重复用户 ID 的计数。我曾尝试使用数据可视化来汇总用户 ID 的计数并将其导出,但这些数字与我们可通过传统 SQL 搜索的另一个数据源不匹配。我们希望看到的是这样的: USER ID COUNT userid1 4 userid22 3 ... 我不是一个高级 Lucene 查询人员,还没有找到这个问题的答案。如果有人可以提供有关如何执行此操作的一些见解,我将不胜感激。
以下查询将对每个 id 进行计数,并过滤计数 <2 的 id,因此您将得到以下内容:
编号:2,计数:2
编号:4,计数:15
GET /index
{
"query":{
"match_all":{}
},
"aggs":{
"user_id":{
"terms":{
"field":"user_id",
"size":100000,
"min_doc_count":2
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
更多信息:https : //www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html
小智 5
如果你想获得所有重复的用户 ID 计数
首先你要知道 aggs 的最大尺寸。通过 aggs 基数查找所有最大匹配记录。
GET index/type/_search
{
"size": 0,
"aggs": {
"maximum_match_counts": {
"cardinality": {
"field": "userid",
"precision_threshold": 100
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
获取maximum_match_counts 聚合的值
现在您可以获得所有重复的用户 ID
GET index/type/_search
{
"size": 0,
"aggs": {
"userIds": {
"terms": {
"field": "userid",
"size": maximum_match_counts,
"min_doc_count": 2
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13961 次 |
最近记录: |