Elasticsearch tidbits (this page gets updated over time)
2022, Jul 20
Filter the results using a text analyzed field
When limiting the search results, as in filtering the results using the term search, the field should be TEXTFIELD.keyword. This is the default behavior of the default analyzer. If we do not analyze the field, only in that case we can directly use term with the exact TEXTFIELD. Below, I am providing a correct example of how to do the filter.
{
"query":{
"bool":{
"filter":[
{"term":{"TEXTFIELD.keyword":"matching term"}}
]
}
}
}
Source:https://discuss.elastic.co/t/elastic-term-filter-not-working-when-term-contains/107301