検索クエリの先頭にワイルドカード文字 (*
または?
)が含まれている場合、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
の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ページには、「これにより、大きなインデックスで非常に遅いクエリが生成される可能性があります」と記載されています。
WildcardQueryを使用する必要があるかもしれませんが、
...非常に遅い WildcardQueries を防ぐために、ワイルドカード用語はワイルドカードのいずれかで開始しないでください...