如何通过lucene中的文档ID获取文档的存储字段?

时间:2010-07-21 17:43:14

标签: lucene

我正在尝试将lucene得分与PageRank结合起来,我尝试修改DefaulySimilarity以添加我已经拥有的PageRank(在具有相应URL的数组中),但问题是我不知道如何获取文档字段它存储了文档的URL。 termDoc只能返回docID。或者我有另一个想法是修改TopScoreDocCollector,它有一个名为collect(int docid)的方法,也给了一个docid,但我仍然不知道如何获取存储的字段。任何人都知道如何通过文档ID获取文档的存储字段?或者了解如何将lucene与PageRank结合起来?非常感谢你。

1 个答案:

答案 0 :(得分:2)

要通过内部Lucene ID获取Lucene中存储字段的值,请使用IndexReader.document(int n)。如果您有自己的UID索引,则需要按该术语搜索,获取Lucene ID,然后调用IndexReader.document(int n)。

您是否正在尝试计算PageRank?如果你是,那对我来说似乎很疯狂。通常,PageRank是一个运行的批处理过程,并且在索引编制期间将为每个文档分配的静态PageRank分数作为提升添加。