2014-11-06 62 views
0

如何增加lucene索引中的某些特定單詞?在lucene中增加一些單詞

例如,我有一個項目列表:

"lucene in action" 
"solr in action" 
"solr in action book" 
"building search applications" 
"building search applications book" 

我認爲這個詞「書」爲不重要,想下來投它。我不想使用過濾器從搜索結果中完全刪除單詞,因爲它仍然可能有用。有些書可能有一本名爲詞的書(例如「摩門教書」)。

目前,我用

new StandardAnalyzer(version) 

和存儲領域

new TextField("name", name, Field.Store.YES) 

理想情況下,我想有術語列表的字典,以提高並把它提供給Lucene來。我知道如果我打破了對術語的要求(比如「lucene」和「書」^ 0.5),我可以提高搜索效率,但這不是我想要的。

回答

1

在Apache Lucene中,您可以在三個不同的位置配置提升:文檔,字段和查詢。由於您不想在查詢級別提高性能,因此我認爲在Field級別進行提升可能會派上用場。 Field類的方法setBoost()
請記住,如果您將增強添加到您的字段,那麼在將文檔添加到索引之前,您需要這樣做。
您還需要考慮從索引中刪除文檔或更改單詞詞典時的操作(我很確定它會這樣做)。

+1

謝謝。對不起,我可能會錯過一些東西..但在這種情況下如何提高特定的術語?假設我想從「行動書中的lucene」中提升「書」。 – cyrillk 2014-11-07 23:31:37

相關問題