如何将multi_match查询中的模糊性只应用于elasticsearch中的指定字段?

i1icjdpr  于 2023-01-29  发布在  ElasticSearch
关注(0)|答案(1)|浏览(118)

如果我有一个类似下面的搜索查询:

query: {
          multi_match: {
            query: searchQry,
            fields: ["field1", "field2", "field3"],
            fuzziness: 2,
            fuzzy_transpositions: true,
          },
        },

我如何能够仅对选择性字段(如“field1”或“field2”或“field1”和“field3”)应用模糊性,而不是对所有字段(这是标准行为)应用模糊性

beq87vna

beq87vna1#

无法使用MultiMatch。
您可以将多匹配与具有单独模糊的匹配混合。
示例:

{
  "query": {
    "bool": {
      "should": [
        {
          "multi_match": {
            "query": "xpto",
            "fields": [
              "field1",
              "field2"
            ]
          }
        },
        {
          "match": {
            "fiedl1": {
              "query": "xpto",
              "fuzziness": 1
            }
          }
        },
        {
          "match": {
            "fiedl2": {
              "query": "xpto",
              "fuzziness": 2
            }
          }
        }
      ]
    }
  }
}

相关问题