2013-02-28 22 views
0

索引文件,我正在使用Apache Lucene的涉及索引文件的項目移除停止字。雖然我成功地使用lucene索引文件,但是當我看到結果時,我得到許多突然的詞,可能是因爲我沒有在索引時刪除停用詞。我在網上讀到,lucene提供了一種在索引文件時刪除停用詞的方法。同時使用Apache Lucene的

我會很感激,如果任何人都可以給我提供關於如何做到這一點的樣本代碼。

謝謝。

+1

我的答案介紹如何停止工作的話,希望可以幫助,但基於您的問題描述,我並不完全相信,停止的話是你的問題。當你說你「看到結果」時,我不知道你指的是什麼結果,也不知道「突然出現的詞」是什麼。如果停下來的話不會成爲問題,那麼更詳細地描述你看到的問題,最好用例子來解決問題。 – femtoRgon 2013-02-28 06:32:25

回答

0

Lucene的StandardAnalyzer包括的StopFilter,可以消除任何通過它的一些典型停用詞。英語停用詞的標準列表非常短;主要有一些文章,代詞和介詞。

如果您想定義自己的StopWords集,StandardAnalyzer有幾個構造函數允許您傳遞自己的停用詞集,特別是this one。只需創建一個CharArraySet包含所需停止的話,並把它傳遞到該構造函數和你自己的方式。

我相信大多數其他典型分析儀有一個構造函數接受相同的參數,以及(一目瞭然,它看起來像幾乎所有的語言分析儀在analyzers-common遵循這種模式)

當然,可以肯定的和use the same analyzer用於索引和搜索。

0

如果u將使用標準的分析或停止分析儀,然後停止像「上,一個,一個,在」會自動從索引中刪除,你無法執行與停止搜索words.IFü要執行與停止的話也搜索就像是,你必須使用空白分析儀或簡單的分析儀。