【发布时间】:2011-12-07 20:42:15
【问题描述】:
我们有一个应用程序,其中文档中的每个术语位置都与“引擎分数”相关联。 然后应该根据文档中术语的“引擎分数”之和而不是术语频率对术语查询进行评分。 例如,平均引擎得分为 100 的词频为 5 应等于引擎得分为 500 的词频为 1。
我知道,如果我在有效负载中保留每个位置的引擎分数,我将能够结合使用 scorePayload 结合 PayloadFunction 的摘要版本来获取文档中某个术语的引擎分数总和,因此将能够实现我的目标。
这个解决方案有两个问题:
即使是最简单的术语查询也应该扫描位置文件以获取有效负载,这可能是性能问题。 除了词频之外,我们更愿意提前对每个文档的引擎分数总和进行索引。这是文档级别的某种有效负载。 Lucene 是否支持此问题或有任何其他解决方案?
短语出现的“引擎分数”定义为组成短语的术语的引擎分数的乘积。 因此,在 scorePayload 中,我需要短语中所有术语的有效负载,以便能够适当地对短语的出现进行评分。
据我了解,目前 scorePayload 的接口并没有提供这个信息。
在 Lucene 中还有其他方法可以实现吗?
【问题讨论】:
标签: lucene