elasticsearch wersja 1.4.5elasticsearch/Kibana 4: Pole istnieje, ale nie jest równa wartości
Kibana 4.1.1
logstash 1.5.2-1
Jak konstruować szukaj w zakładce odkrywania kibana 4, która zwraca wyniki tylko wtedy, gdy istnieje pole, ale nie jest ono równe określonej wartości?
Mam niektóre dane dziennika apache w logstash i chcę zwrócić wszystkie wpisy, które mają status_code
zdefiniowane, ale nie równe 200. Więc jeśli możliwe wartości są {niezdefiniowane, 200, 403, 404, 500, itp.} I chciałby, aby wszystkie warianty 4xx i 5xx błędy ale nie wiadomości, których pole nie jest zdefiniowane, a nie tam, gdzie jest ona ustawiona na 200.
próbowałem następujące:
+status_code: (*) -status_code: (200)
((status_code: (*) AND NOT status_code: (200))
widzę też referencje do elastycznego wyszukiwania curl queries, ale nie jestem pewien, jak przekształcić je w coś, co mogę użyć w Kibana s pasek earch. Oto przykład:
{
"query": {
"constant_score": {
"filter": {
"bool": {
"must": {
"exists": {
"field": "status_code"
}
},
"must_not": {
"term": {
"status_code": '200'
}
}
}
}
}
}
}
Dzięki!