如果搜索查询包含一个领先的通配符(*
或?
)时,QueryParser
的Parse
函数抛出一个错误.
Dim q As String = "*abc" Dim qp As New QueryParser("text", New StandardAnalyzer()) Dim query As Query = qp.Parse(q)
在Lucene.NET v2.0.0.4中有没有办法解决这个问题?
将QueryParser.SetAllowLeadingWildcard方法设置为true.API页面指出"这可能会对大型索引产生非常慢的查询".