2010-07-21 68 views
2

我想結合lucene得分與PageRank,我試圖修改DefaulySimilarity來添加我已經擁有的PageRank(在與相應的URL的數組中),但問題是我不知道如何獲取文檔字段存儲文檔的URL。術語Doc只能返回docID。或者我還有一個想法是修改TopScoreDocCollector,它有一個名爲collect(int docid)的方法,也給了一個docid,但我仍然不知道如何獲取存儲的字段。任何人都知道如何通過文檔ID獲取文檔的存儲區域?或者瞭解如何將lucene與PageRank結合起來?非常感謝你。如何通過lucene中的文檔ID獲取文檔的存儲字段?

回答

2

要通過內部Lucene ID獲取Lucene中存儲字段的值,請使用IndexReader.document(int n)。如果您擁有自己的UID索引,則需要按該術語進行搜索,獲取Lucene ID,然後調用IndexReader.document(int n)。

您是否試圖計算飛行中的PageRank?如果你是,那對我來說似乎很瘋狂。通常,PageRank是一個運行的批處理過程,爲每個文檔分配的靜態PageRank得分在索引時間內作爲提升添加。