Hello there,
I have the next JSON:
{
"idDeclaracion": "abc123",
"prospecto": {
"id": "1111",
"edad": 24,
"nombre": "jaime",
"ubicacion": {
"direccion": "CL 61",
"barrio": "Los colores"
}
},
"decisiones": [
"aprobar",
"declinar",
"extraprimar"
],
"exitoso": true
}
I want to filter those events where prospecto.id="1111"
and i have tried two ways:
index=idx_eml_err | spath input=message | search prospecto.id="1111"
index=idx_eml_err | spath input=message | where prospecto.id="1111"
Option 1 works well, but option 2 does not. Can somebody please explain me this behavior?
To have in mind, the next query works well: index=idx_eml_err | spath input=message | where idDeclaracion="abc123"
. The difference between the last query and 2, is that 2 is using the where
with a nested field.
Thanks!
@ivykp,
This should work for you
index=idx_eml_err | spath input=message |where 'prospecto.id'="1111"
where command returns only the results for which the eval expression returns true. These eval-expressions must be Boolean expressions, where the expression returns either true or false. In the json filed, by adding a '
around the field makes it as literal field name
@ivykp,
This should work for you
index=idx_eml_err | spath input=message |where 'prospecto.id'="1111"
where command returns only the results for which the eval expression returns true. These eval-expressions must be Boolean expressions, where the expression returns either true or false. In the json filed, by adding a '
around the field makes it as literal field name