2010-05-12 34 views
5

我需要從幾個lucene索引中提取出具有最高頻率的項,以便將它們用於某些語義分析。因此,我想得到可能是前30名最常發生的術語(仍然沒有決定門檻,我將分析結果)和他們的每個索引計數。我知道我可能因爲潛在的重複刪除而失去一些精確度,但現在,讓我說我沒問題。 (不用說也許)速度並不重要,因爲我會做靜態分析,所以我會重點放在簡單的的實現上,因爲我對Lucene不太熟練,並且不能理解我的想法周圍的一些概念..從Lucene索引中獲取最高頻率項

我找不到任何類似的代碼示例,所以所有具體的建議(代碼,僞代碼,代碼示例的鏈接...)欣賞所有的建議!

謝謝!

回答

2

看一看這樣的: http://sujitpal.blogspot.com/2009/02/summarization-with-lucene.html

類在本頁面已經computeTopTermQuery方法,你應該能夠輕鬆地改造爲去在多個索引。

+0

Thanx!正是我需要的! – Julia 2010-05-13 09:04:30

+0

嗨,你好! 我使用lucene 4.4,所以它沒有terms()方法?請幫幫我! – Thangnv 2013-10-06 11:48:23

+0

@Thangnv您可能想要爲此打開一個單獨的線程,或者通過電子郵件發送Lucene Java郵件列表。我手頭沒有Lucene 4.4。而這些日子時間一直很短缺; --( – mindas 2013-10-06 20:26:22

5

一個非常簡單的方法是使用Luke。在「概覽」標籤上,有一個「顯示頂部條款」按鈕,可用於您的需要。

+0

就是這樣。你可以複製粘貼或者甚至導出結果。 – 2010-05-12 21:34:04

+1

+1,如果你想運行你自己的代碼盧克的代碼告訴你如何.... – Mikos 2010-05-13 01:36:47