Агрегация с использованием упругого поиска

У меня есть поисковый запрос для получения последних 5000 документов из моей эластичной БД, как показано ниже

{ 
  "размер": 5000, 
  "от": 0, 
  "запрос": {
        "спектр": {
            "hostTimestamp": {
                "gte": 1499674634382,
                "lte": 1499680034000
            }
        }
  },
  "Сортировать": [
    {
      "hostTimestamp": {
        "заказ": "desc"
      }
    }
  ]
}

Теперь в документах, которые выбраны в результате этого запроса, я не хочу считать ни одного документа с eventSeverity как Alert или же Critical, Как этого достичь?

1 ответ

Вы можете достичь этого с terms агрегация на eventSeverity поле:

{ 
  "size": 5000, 
  "from": 0, 
  "query": {
        "range" : {
            "hostTimestamp" : {
                "gte" : 1499674634382,
                "lte" : 1499680034000
            }
        }
  },
  "sort": [
    {
      "hostTimestamp": {
        "order": "desc"
      }
    }
  ],
  "aggs": {                  <--- add this part
    "severities": {
      "terms": {
        "field": "eventSeverity"
      }
    }
  }
}
Другие вопросы по тегам