模糊匹配查询 (Fuzzy match Query)edit

match 查询支持开箱即用的模糊匹配:

GET /my_index/my_type/_search
{
  "query": {
    "match": {
      "text": {
        "query":     "SURPRIZE ME!",
        "fuzziness": "AUTO",
        "operator":  "and"
      }
    }
  }
}

查询字符串首先进行分析,会产生词项 surprize, me ,并且每个词项根据指定的 fuzziness 进行模糊化。

同样, multi_match 查询也支持 fuzziness ,但只有当执行查询时类型是 best_fields 或者 most_fields

GET /my_index/my_type/_search
{
  "query": {
    "multi_match": {
      "fields":  [ "text", "title" ],
      "query":     "SURPRIZE ME!",
      "fuzziness": "AUTO"
    }
  }
}

matchmulti_match 查询都支持 prefix_lengthmax_expansions 参数。

模糊性(Fuzziness)只能在 matchmulti_match 查询中使用。不能使用在短语匹配(phrase matching)、常用词项(common terms) 或 cross_fields匹配中。