【问题标题】:how to get the stored field of a document by a document id in lucene?如何通过lucene中的文档ID获取文档的存储字段?
【发布时间】:2011-03-19 03:30:54
【问题描述】:

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

【问题讨论】:

    标签: lucene


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 2010-11-20
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多