【问题标题】:Lucene - Scoring and payloadLucene - 评分和有效负载
【发布时间】:2011-12-07 20:42:15
【问题描述】:

我们有一个应用程序,其中文档中的每个术语位置都与“引擎分数”相关联。 然后应该根据文档中术语的“引擎分数”之和而不是术语频率对术语查询进行评分。 例如,平均引擎得分为 100 的词频为 5 应等于引擎得分为 500 的词频为 1。

我知道,如果我在有效负载中保留每个位置的引擎分数,我将能够结合使用 scorePayload 结合 PayloadFunction 的摘要版本来获取文档中某个术语的引擎分数总和,因此将能够实现我的目标。

这个解决方案有两个问题:

  1. 即使是最简单的术语查询也应该扫描位置文件以获取有效负载,这可能是性能问题。 除了词频之外,我们更愿意提前对每个文档的引擎分数总和进行索引。这是文档级别的某种有效负载。 Lucene 是否支持此问题或有任何其他解决方案?

  2. 短语出现的“引擎分数”定义为组成短语的术语的引擎分数的乘积。 因此,在 scorePayload 中,我需要短语中所有术语的有效负载,以便能够适当地对短语的出现进行评分。

据我了解,目前 scorePayload 的接口并没有提供这个信息。

在 Lucene 中还有其他方法可以实现吗?

【问题讨论】:

    标签: lucene


    【解决方案1】:

    文档级有效负载的一种解决方法是创建单个 Lucene 文档/您的文档,该文档仅包含整个文档的引擎分数作为一个特殊命名的字段(不同于所有其他 Lucene 文档字段名称)。然后,您可以在搜索期间合并/提取该文档。没有太多的解决方法,但它确实存在。

    【讨论】:

      猜你喜欢
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 2011-06-16
      • 2012-04-13
      • 1970-01-01
      相关资源
      最近更新 更多