我有一个简单的弹性查询,它使用一个虚拟距离进行简单的文本字段搜索:
GET /jobs/_search
{
"query": {
"fuzzy": {
"attributes.title": {
"value": "C#"
"fuzziness": 1
}
}
}
}
上面的查询完全按照它所做的去做,但我有一个案例,我不希望一个单词解决(模糊)到另一个特定的单词。在这种情况下,我不希望C#
也返回C++
个结果。同样,我不希望cat
返回car
个结果。
但是,如果某人确实拼写错误cat
,我仍然需要模糊选项。在这种情况下,它可以返回cat
和car
的结果。
答案 0 :(得分:1)
我认为这可以通过一些bool查询组合来实现,它应该是这样的:
bool:
//should
//match query without fuzzy
//bool
//must
//must with fuzzy query
//must_not with match query