ElasticSearch - 为模糊术语创建例外
ElasticSearch - creating exceptions for fuzzy terms
我有一个简单的弹性查询,它使用模糊距离 1 进行简单的文本字段搜索:
GET /jobs/_search
{
"query": {
"fuzzy": {
"attributes.title": {
"value": "C#"
"fuzziness": 1
}
}
}
}
上面的查询完全按照要求执行,但在某些情况下,我不希望某个词解析(模糊)为另一个特定词。在这种情况下,我不希望 C#
也有 return C++
结果。同样,我不希望 cat
到 return car
结果。
然而,如果有人真的拼错了,我仍然需要模糊选项 cat
。在那种情况下,它可以 return cat
和 car
的结果。
我认为这可以通过一些 bool 查询组合实现,它应该是这样的:
bool:
//should
//match query without fuzzy
//bool
//must
//must with fuzzy query
//must_not with match query
我有一个简单的弹性查询,它使用模糊距离 1 进行简单的文本字段搜索:
GET /jobs/_search
{
"query": {
"fuzzy": {
"attributes.title": {
"value": "C#"
"fuzziness": 1
}
}
}
}
上面的查询完全按照要求执行,但在某些情况下,我不希望某个词解析(模糊)为另一个特定词。在这种情况下,我不希望 C#
也有 return C++
结果。同样,我不希望 cat
到 return car
结果。
然而,如果有人真的拼错了,我仍然需要模糊选项 cat
。在那种情况下,它可以 return cat
和 car
的结果。
我认为这可以通过一些 bool 查询组合实现,它应该是这样的:
bool:
//should
//match query without fuzzy
//bool
//must
//must with fuzzy query
//must_not with match query