terms query not multiple multi bool elasticsearch term

query - Elasticsearch filtro multi term



elasticsearch query not match (1)

Debes usar bool filter para AND todos tus términos:

"query":{ "filtered": { "query": { "query_string": { "query":"*tom*", "default_operator": "OR", "fields": ["username"] } }, "filter": { "bool" : { "must" : [ {"term" : { "isActive" : "1" } }, {"term" : { "isPrivate" : "0" } }, {"term" : { "isOwner" : "1" } } ] } } } }

Soy bastante nuevo en Elasticsearch, así que aquí está mi pregunta. Quiero hacer una consulta de búsqueda con elasticsearch y quiero filtrar con varios términos.

Si quiero buscar un usuario ''tom'', me gustaría tener todas las coincidencias donde el usuario ''isActive = 1'', ''isPrivate = 0'' y ''isOwner = 1''.

Aquí está mi consulta de búsqueda

"query":{ "filtered": { "query": { "query_string": { "query":"*tom*", "default_operator": "OR", "fields": ["username"] } }, "filter": { "term": { "isActive": "1", "isPrivate": "0", "isOwner": "1" } } } }

Cuando uso 2 términos, funciona como un encanto, pero cuando uso 3 términos, no.

¡¡Gracias por la ayuda!!