Elasticsearch QueryStrings: partially match a NOT query?
Query String
query allows wildcards. I believe you should remove the multimatch. I believe messes up your results and just add a wildcard at the end of every term like below. If you want exact matches for some, just don't add the wildcard. Moreover this query supports fuzziness
which by default is set to AUTO
which again could mess up your results. If you want to disable it just set it to zero.
{ "query": { "bool": { "should": [ { "queryString": { "fields": [ "name" ], "query": "fire* -b*", "defaultOperator": "OR" } } ] } }}