¿Cómo realizo una búsqueda filtrada en ElasticSearch en un campo de subobjeto? Por ejemplo, mi documento tiene un id
, y un campo data
que es una matriz JSON de cómo los datos se almacenan en mi base de datos:Búsqueda filtrada de Elasticsearch para campos de subobjeto
{_id: 000, merchant: "merchant_1", email: "[email protected]"}
Mi criterios de búsqueda:
"query": {
"filtered": {
"filter": { "term": { "data.merchant": "merchant_1"} },
"query": {
"query_string": {"query": "hello"} }
}
}
}
doesn' t devuelve cualquier cosa, pero al hacer una consulta solo con query_string hello
devuelve las filas correctas. Cambiar "data.merchant"
=>"merchant"
tampoco cambia nada.
¿Estoy haciendo algo mal aquí?
Actualización: Terminé simplemente usando una consulta booleana, que funcionó.