2017-05-12 15 views
0

如何忽略Lucene搜索期間的停用詞?如何忽略使用Lucene停用詞搜索,當需要分析停用詞時?

我已經使用自定義分析器分析了包括停用詞在內的所有數據,因爲這是大多數搜索的要求。

但在解決方案的另一個要求跳躍的模塊,它說從搜索中排除停止的話,在同一領域,在停止的話已經分析的一個。

雖然分析

@Fields({@Field(index = Index.YES, store = Store.NO, analyzer = @Analyzer(impl=CustomStopWordsAccepterAnalyzer.class)), 

現在要求說忽略停用詞時,搜索字符串有「愛隨着老公」,並返回使用愛老公最好成績的結果。請建議!

回答

0

一旦啓用了停用詞場的詞語將被有效地不在索引編碼,使他們無法進行期間查詢時間重新出現。

你的問題是相當普遍的,經常的人需要用不同的選項進行多次全文查詢的分數結合起來。

的解決方法是相當簡單:你的Java實體的每個屬性,使用多個@Field註解並分配不同的索引字段名到每個。這樣,您就可以針對與BooleanQuery每個不同的領域,並具有輸出的分數取這兩個領域考慮。