【问题标题】:fetching score per term in a specific field获取特定字段中每个术语的分数
【发布时间】:2012-03-25 23:56:59
【问题描述】:

我目前在 lucene 4.0 上使用快照版本(因为 bm25),我想知道是否有可能获得给定术语的分数。 例如,在索引上,我为每个文档存储两个字段,即内容字段中的文档内容和作者字段中的作者。 现在,当我检索文档时,我也会获取作者,但是当我获取作者时,我会活着得到每个作者的分数(收藏范围的分数),这样我就可以对作者进行排序。

即,是否有可能在获取作者后,为每个作者查询 lucene 并以这种方式找到其各自的分数(我依赖于 BM25 评分模型)?是的,这是最好的方法吗?

非常感谢

【问题讨论】:

  • :),我不知道我必须这样做,现在我确实做到了。好吧,我无法从您发送的链接中获得太多帮助,但在发布之前我确实已经看过它
  • @Nik:你的意思是你想要一个词在语料库中出现的次数?我不确定作者有分数意味着什么——通常是有分数的文档。

标签: lucene


【解决方案1】:

如果您只是在调试,请使用 explain()。

否则,如果您确实需要“子分数”或“仅查询的一部分的分数”,只需自行运行该部分查询,或者如果速度不够快,请使用 Scorer 遍历 Scorer 层次结构。 getChildren() 在你的 Collector 中,保存对你关心的 subscorers 的引用。

然后在您的收集器 collect() 中,您也可以捕获这些子分数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2021-07-10
    • 2020-07-07
    • 2016-11-01
    • 1970-01-01
    相关资源
    最近更新 更多