在之前的文章 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等。