ElasticSearch - 为模糊术语创建例外

时间:2017-10-18 13:02:04

标签: elasticsearch search fuzzy-search

我有一个简单的弹性查询,它使用一个虚拟距离进行简单的文本字段搜索:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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