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 catcar 的结果。

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

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