模糊匹配查询

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

  1. GET /my_index/my_type/_search
  2. {
  3. "query": {
  4. "match": {
  5. "text": {
  6. "query": "SURPRIZE ME!",
  7. "fuzziness": "AUTO",
  8. "operator": "and"
  9. }
  10. }
  11. }
  12. }

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

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

  1. GET /my_index/my_type/_search
  2. {
  3. "query": {
  4. "multi_match": {
  5. "fields": [ "text", "title" ],
  6. "query": "SURPRIZE ME!",
  7. "fuzziness": "AUTO"
  8. }
  9. }
  10. }

matchmulti_match 查询都支持 prefix_lengthmax_expansions 参数。

TIP: 模糊性(Fuzziness)只能在 match and multi_match 查询中使用。不能使用在短语匹配、常用词项或 cross_fields 匹配。