ElasticSearch:聚合期间按不同计数进行筛选
以下查询按ID的最大不同计数顺序返回不同的ID。我想做的是“仅包括文档总数小于2000的ID”ElasticSearch:聚合期间按不同计数进行筛选,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,以下查询按ID的最大不同计数顺序返回不同的ID。我想做的是“仅包括文档总数小于2000的ID” 我试着按“doc\u count”添加过滤器,但没用。如何执行此操作?您可以使用 Bucket Selector聚合是一个父管道聚合,它执行一个脚本来确定 当前bucket是否会保留在父多bucket中 聚合 { “大小”:“0”, “查询”:{ “范围”:{ “@timestamp”:{ “gte”:“2020-10-20T00:00:00”, “lt”:“2020-10-21T00:00:00”
我试着按“doc\u count”添加过滤器,但没用。如何执行此操作?您可以使用 Bucket Selector聚合是一个父管道聚合,它执行一个脚本来确定 当前bucket是否会保留在父多bucket中 聚合
{
“大小”:“0”,
“查询”:{
“范围”:{
“@timestamp”:{
“gte”:“2020-10-20T00:00:00”,
“lt”:“2020-10-21T00:00:00”
}
}
},
“aggs”:{
“ID”:{
“条款”:{
“字段”:“Id.keyword”,
“尺寸”:1000
},
“aggs”:{
“计数过滤器”:{
“铲斗选择器”:{
“bucket\u路径”:{
“值”:“\u计数”
},
“脚本”:“params.values<2000”请给我一些时间。只是醒过来。谢谢。好的,没问题这对我不起作用。“note This”是什么意思?我应该改变什么吗?我“照原样”使用它.@DilTeam注意
只是向查询中的bucket selector聚合指出。在运行上述搜索查询时,您是否遇到任何错误?我在本地也尝试过,它正在运行fineWait。计数将仅应用于日期的“范围”,对吗?嗯……这可能会起作用。让我看看。
{
"size": "0",
"query": {
"range": {
"@timestamp": {
"gte": "2020-10-20T00:00:00",
"lt": "2020-10-21T00:00:00"
}
}
},
"aggs": {
"ids": {
"terms": {
"field": "Id.keyword",
"size": 1000
}
}
}
}
{
"size": "0",
"query": {
"range": {
"@timestamp": {
"gte": "2020-10-20T00:00:00",
"lt": "2020-10-21T00:00:00"
}
}
},
"aggs": {
"ids": {
"terms": {
"field": "Id.keyword",
"size": 1000
},
"aggs": {
"count_filter": {
"bucket_selector": {
"buckets_path": {
"values": "_count"
},
"script": "params.values < 2000" <-- note this
}
}
}
}
}
}