elasticsearch - 使用 Elasticsearch 进行聚合

标签 elasticsearch elasticsearch-aggregation

我有如下搜索查询,可以从我的 flex 数据库中获取最新的5000个文档,如下所示

{
“大小”:5000,
“来自”:0,
“查询”:{
“范围” : {
“hostTimestamp”:{
“gte”:1499674634382,
“lte”:1499680034000
}
}
},
“排序”:[
{
“hostTimestamp”:{
“order”:“desc”
}
}
]
}

现在,在由于此查询而获取的文档中,我不希望将eventSeverity作为AlertCritical的文档计数在内。如何做到这一点?

最佳答案

您可以在terms字段上使用 eventSeverity aggregation来实现:

{ 
  "size": 5000, 
  "from": 0, 
  "query": {
        "range" : {
            "hostTimestamp" : {
                "gte" : 1499674634382,
                "lte" : 1499680034000
            }
        }
  },
  "sort": [
    {
      "hostTimestamp": {
        "order": "desc"
      }
    }
  ],
  "aggs": {                  <--- add this part
    "severities": {
      "terms": {
        "field": "eventSeverity"
      }
    }
  }
}

关于elasticsearch - 使用 Elasticsearch 进行聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45292655/

相关文章:

elasticsearch - Kibana Elasticsearch-缺少索引

spring-boot - 文本字段未针对需要每个文档 : Elasticsearch 的操作进行优化

elasticsearch - 列表字段上针对自身的重要术语聚合

elasticsearch - 将聚合结果插入索引

elasticsearch - .keyword上的聚合仅返回包含特定字符串的键

date - ElasticSearch字段类型 “date”插入日期('Y-m-d H:i:s')

elasticsearch - Elasticsearch查询过滤器

python - 如何在ElasticSearch DSL python中创建Decay函数

elasticsearch - Elasticsearch DSL过滤器,用于聚合和扩展统计信息

elasticsearch - 在Elasticsearch中使用filteredQuery和userquery的QueryBuilder