应用大白全文检索Lucene语法简介

Lucene语法(二):通配符

Lucene语法中,有 ? 和 * 两个通配符

  • 问号 ?

? 代表:一个任意字符

  • 星号 *

* 代表:0个或者任意个字符

当Lucene在做“项”和单词(Term)匹配的时候,通配符代替该单词(Term)中的字符,俗称“白搭”。

注意:是一个单词(Term)之内的“百搭”,而不能跨单词进行。

所以,如果用户的搜索词(输入的搜索内容)中,含有通配符的时候,需要对保存在分布式数据库中的成万上亿的单词(Term),一个一个进行“百搭”匹配,对内存和性能需要较大。

尤其需要注意的是:当通配符出现在搜索词的开头,比如 *ost 的时候,所有的单词(Term)都要进行匹配,是最消耗资源的。

下图是,采用通配符进行搜索的例子:


本文原创,属于上海悦勤信息科技有限公司
如需转载,请注明出处:上海悦勤信息科技有限公司:应用大白全文检索Lucene语法简介
如需合作,请拨打电话:186-2150-3806