Lucene 正在使用搜索模块查询子字符串

Lucene 正在使用搜索模块查询子字符串,lucene,playframework,Lucene,Playframework,我试图使用Play框架中提供的搜索模块,但遇到了限制 基于引用的“不能将*或?符号用作搜索的第一个字符” 在诸如“nice,rice,…”等字符串对象中查询子字符串关键字“ice”是否有其他方法 Thx您可以通过设置标志来使用 但您应该了解性能影响。从: QueryParser by不支持前导通配符(例如*ook) 违约 从Lucene 2.1开始,可以通过调用QueryParser.setAllowReadingWildcard(true)来启用它们。 请注意,这可能是一个代价高昂的操作:它

我试图使用Play框架中提供的搜索模块,但遇到了限制 基于引用的“不能将*或?符号用作搜索的第一个字符”

在诸如“nice,rice,…”等字符串对象中查询子字符串关键字“ice”是否有其他方法

Thx

您可以通过设置标志来使用

但您应该了解性能影响。从:

QueryParser by不支持前导通配符(例如*ook) 违约 从Lucene 2.1开始,可以通过调用QueryParser.setAllowReadingWildcard(true)来启用它们。 请注意,这可能是一个代价高昂的操作:它需要扫描索引中的令牌列表以查找那些 匹配模式

QueryParser queryParser = new QueryParser(...);
queryParser.setAllowLeadingWildcard(true);
Query q = queryParser.parse("*ice");