【问题标题】:ElasticSearch - creating exceptions for fuzzy termsElasticSearch - 为模糊术语创建例外
【发布时间】:2017-10-18 13:02:04
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: elasticsearch search fuzzy-search


    【解决方案1】:

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

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

    【讨论】:

    • 尝试看看这是否有效。我理解你的做法。不需要完整的例子。
    • 此解决方案运行良好。尽管我希望采用类似于定义同义词的方法。猜猜这是不可能的:)谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2015-10-09
    • 1970-01-01
    • 2014-07-09
    相关资源
    最近更新 更多