2012-11-15 23 views
0

我對Lucene很新。我有一個Lucene 4.0索引,我想計算第n個最常用的詞來創建一個停用詞列表。我在Lucene的早期版本中發現了處理這個問題的帖子,例如Get highest frequency terms from Lucene index,但似乎reader.terms()在4.0中已被棄用。從Lucene 4.0索引中獲取最常用的詞

我該如何使用Lucene 4.0來實現這個功能?

謝謝!

+0

其實盧克4.0不適合我的目的,我才明白。無論如何,一個程序化的方法會更好:) –

回答

1

以下是使用lucene-misc軟件包中的HighFreqTerms的示例。你可以在用戶HighFreqTerms.TotalTermFreqComparator,如果你想通過詞頻排名

注:

DocFreqComparator cmp = new HighFreqTerms.DocFreqComparator(); 
TermStats[] highFreqTerms = HighFreqTerms.getHighFreqTerms(reader, n, "text", cmp); 

List<String> terms = new ArrayList<>(highFreqTerms.length); 
for (TermStats ts : highFreqTerms) { 
    terms.add(ts.termtext.utf8ToString()); 
}