我在ElasticSearch中有以下查询。我正在尝试过滤字段message_class
等于' SE'
除其他事项外,我已提及this SO Q&A,但下面的查询仍会返回字段message_class
等于' SE'
使用not
过滤器的正确方法是什么?
POST _search
{
"query":{
"filtered":{
"filter":{
"not":{
"term":{
"message_class":"SE"
}
}
}
}
}
}
字段_mapping
的{{1}}显示:
message_class
答案 0 :(得分:1)
在使用术语查询时,分析器不会应用于您的查询。假设应用了小写过滤器,以下应该可以正常工作 -
POST _search
{
"query":{
"filtered":{
"filter":{
"not":{
"term":{
"message_class":"se"
}
}
}
}
}
}