elasticsearch / kibana 4: поле существует, но не равно значению
elasticsearch версии 1.4.5
платформы Kibana 4.1.1
logstash 1.5.2-1
как структурировать поиск на вкладке discover kibana 4, который возвращает результаты, только если поле существует, но не равно определенному значению?
у меня есть некоторые данные журнала Apache в logstash и я хочу вернуть все записи, которые status_code
определено, но не равно 200. Поэтому, если возможные значения {undefined, 200, 403, 404, 500 и т. д.}, Я бы хотелось бы видеть все варианты ошибок 4xx и 5xx, но не сообщения, где поле не определено и не установлено в 200.
я попробовал следующее:
+status_code: (*) -status_code: (200)
((status_code: (*) AND NOT status_code: (200))
Я также вижу ссылки на elasticsearch curl запросы но я не уверен, как превратить их в то, что я могу использовать в строке поиска kibana. Вот пример:
{
"query": {
"constant_score": {
"filter": {
"bool": {
"must": {
"exists": {
"field": "status_code"
}
},
"must_not": {
"term": {
"status_code": '200'
}
}
}
}
}
}
}
спасибо!
2 ответов
запрос, который вы ищете это:
_exists_:status_code AND NOT status_code:200
этой ссылке показывает вам все, что поддерживается запросами строки запроса.
предыдущий ответ-это именно то, что я просил, однако, это также может быть полезно:
status_code:[300 TO 600]