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

如何在lucene中通过文档id获取文档的存储字段?,lucene,Lucene,我试图将lucene score与PageRank结合起来,我试图修改DefaulySimilarity以添加我已经拥有的PageRank(在一个具有相应URL的数组中),但问题是我不知道如何获取存储文档URL的文档字段。termDoc只能返回docID。或者我有另一个想法是修改TopCoreDocCollector,它有一个名为collect(int docid)的方法,也有一个docid,但我仍然不知道如何获取存储字段。有人知道如何通过文档id获取文档的存储字段吗?或者知道如何将lucene

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

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

您是否正在尝试动态计算PageRank?如果你是的话,我觉得这很疯狂。通常,PageRank是一个运行的批处理过程,为每个文档分配的静态PageRank分数在索引期间作为提升添加