2011-05-11 81 views
0

我希望你能幫助我解決這個問題。 我打算做的事情: 給定一個正確的文本,我想要計算每個干擾標記ngrams的頻率(沒有停用詞)(換句話說,停用詞已被刪除)。如何使用lucene的shingleanalyzerwrapper + standardanalyzer + indexreader?

情況是這樣的: 我索引一些文本使用ShingleAnalyzerWrapper + StandardAnalyzer和的IndexWriter當我添加一個文件的IndexWriter(是這樣的:indexwriter.addDocument(DOC,分析儀);其中,分析儀再次,ShingleAnalyzerWrapper + StandardAnalyzer )。

但問題是: 當我得到術語頻率和術語時,停用詞似乎被下劃線代替。

這是輸入:
String text =「我想要我想鏈接」;
String text2 =「super by by hard easy」;

這是輸出:
術語:| FREQ:6
術語:
_ |頻率:2
術語:_硬|頻率:1
術語:_ I |頻率:2
長期:_鏈接|頻率:1
項:易|頻率:1
項:硬|頻率:1
項:硬易|頻率:1
項:我|頻率:2
項:我want | freq:2
t ERM:鏈接|頻率:1
項:超|頻率:1
項:超_ |頻率:1
項:想|頻率:2
項:想_ |頻率:2

如果什麼還不清楚,請諮詢我,所以我努力讓自己更清楚

感謝您的幫助

回答

0

請參閱http://www.lucidimagination.com/search/document/e5681676403a007b/can_i_omit_shinglefilter_s_filler_tokens了一些解決方案。

在這種情況下,您可能希望禁用停止過濾器上的位置增量,因爲您不想在停用詞所在的位置引入「孔」,您希望假裝它們從不存在。

+0

這正是我想要的,非常感謝你。 – ncode 2011-05-13 13:25:49

+0

該鏈接提供了一個未找到的頁面;這似乎是相同的討論,雖然:http://www.gossamer-threads.com/lists/lucene/java-user/123704?do=post_view_threaded#123704 – junkdog 2013-03-25 12:25:20

相關問題