是否可以在Multi_match查询中仅对一个字段使用模糊性



我正在使用以下Multi_match查询,我想知道我是否只能将模糊用于" Friendly_name field"。我尝试了不同的事情,但似乎不起作用。我也想知道是否可以使用分析仪像模糊性一样获得类似的结果:

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

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

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

"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
      }

}

最新更新