Elasticsearch索引wildcard查询
在之前的文章 Elasticsearch索引的字段映射 中介绍过关于索引中字段查询的多种方式。可以根据需要通过设置索引字段的type以及fields来实现分词,精确匹配等多种方式的查询。
elasticSearch中检索核心类型大概可以分为:精准匹配检索(Term-level queries)和基于分词的全文匹配检索(Full text queries)。
其中精确匹配检索又包括大家熟知的Term查询以及Terms查询,还包括本文要介绍的模糊匹配(wildcard查询)。
wildcard 检索
wildcard检索类似 Mysql 中的 like 模糊匹配。
wildcard检索支持两种通配符格式,分别是:
- ? : 支持模糊匹配单个字符。举例:Ma?s 仅能匹配:Mars, Mass, 和 Maps。
- : 支持模糊匹配零个或者多个字符。举例:Ma*s 能匹配:Mars, Matches 和 Massachusetts等。