【问题标题】:Is it possible to use fuzziness for only one field in a multi_match query?是否可以对 multi_match 查询中的一个字段使用模糊性?
【发布时间】:2017-02-24 02:37:25
【问题描述】:

我在 Elasticsearch 中使用以下 multi_match 查询,我想知道我是否可以仅对“friendly_name 字段”使用模糊性。我尝试了不同的东西,但似乎没有用。我还想知道是否可以使用分析器来获得与模糊性相似的结果:

    "query": { 
  "multi_match": {
         "query": "input query",            
         "fields": ["code_short", "code_word","friendly_name"],
         "minimum_should_match": "2"
  }   }, "_source": ["code", "friendly_name"]

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    如果只需要查询一个字段,则不需要多匹配

    "match": {
            "name": {
                "query":     "your query",
                "fuzziness": "1.5",
                "prefix_length": 0,
                "max_expansions": 100,
                "minimum_should_match": "80%"
            }
        }
    

    我不相信你可以完全取代模糊,但你有 2 个选项可供探索,它们可能对你有用。 ngram 过滤器或词干过滤器。

    ====== 好吧,我不太清楚你的意图。但是您可以通过这种方式进行查询:

    "query": {
          "bool": {
            "should": [
              {
                "match": {
                  "friendly_name": {
                    "query": "text",
                    "fuzziness": "1.5",
                    "prefix_length": 0,
                    "max_expansions": 100
                  }
                }
              },
              {
                "match": {
                  "code_word": {
                    "query": "text"
                  }
                }
              },
              {
                "match": {
                  "code_short": {
                    "query": "text"
                  }
                }
              }
            ],
            "minimum_should_match" : 2
          }
    

    }

    【讨论】:

    • 感谢您的回复,我正在使用 multi_match 因为我实际上是在查询三个字段,但我还没有找到仅将模糊性应用于其中一个字段的方法。我已经尝试过 ngram,但没有得到我想要的结果,不过我会看看词干过滤器,谢谢
    • 非常感谢您提供的信息,它给了我一些关于如何使它工作的提示
    猜你喜欢
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    相关资源
    最近更新 更多