ElasticSearch - 为模糊术语创建例外



我有一个简单的弹性查询,它执行一个简单的文本字段搜索,其模糊距离为 1:

GET /jobs/_search
{
  "query": {
    "fuzzy": {
      "attributes.title": {
        "value": "C#"
        "fuzziness": 1
      }
    }
  }
}

上面的查询完全按照它被告知要做的事情,但我有一个情况,我不希望一个单词解析(模糊)到另一个特定的单词。在这种情况下,我不希望C#也返回C++结果。同样,我不希望cat返回car结果。

但是,如果有人确实拼错了cat,我仍然需要模糊选项。在这种情况下,它可以返回 catcar 的结果。

我认为这可以通过一些布尔查询组合来实现,它应该是这样的:

bool:
    //should
        //match query without fuzzy
        //bool
            //must 
                //must with fuzzy query 
                //must_not with match query

最新更新