update query elasticsearch kibana-4

query - elasticsearch/kibana 4: campo existe, pero no es igual a un valor



elasticsearch search by field (2)

elasticsearch versión 1.4.5

kibana 4.1.1

logstash 1.5.2-1

¿Cómo estructurar una búsqueda en la pestaña Discover de kibana 4 que solo devuelve resultados si existe un campo pero no es igual a un valor específico?

Tengo algunos datos de registro de Apache en logstash y quiero devolver todas las entradas que tienen definido el status_code pero no igual a 200. Por lo tanto, si los valores posibles son {indefinido, 200, 403, 404, 500, etc.} me gustaría ver todos variantes de errores 4xx y 5xx pero no mensajes donde el campo no está definido y no donde está establecido en 200.

He probado lo siguiente:

+status_code: (*) -status_code: (200) ((status_code: (*) AND NOT status_code: (200))

También veo referencias a consultas de curl de elasticsearch, pero no estoy seguro de cómo convertirlas en algo que pueda usar en la barra de búsqueda de kibana. Aquí hay un ejemplo:

{ "query": { "constant_score": { "filter": { "bool": { "must": { "exists": { "field": "status_code" } }, "must_not": { "term": { "status_code": ''200'' } } } } } } }

¡Gracias!


La consulta que estás buscando es esta:

_exists_:status_code AND NOT status_code:200

Este enlace muestra todo lo que admiten las consultas de cadena de consulta.


La respuesta anterior es exactamente lo que pedí, sin embargo, esto también puede ser útil:

status_code:[300 TO 600]