是否可以"合理地"设置Solr分数阈值,与返回的结果无关?(即Solr评分是否以任何方式标准化)

DJS*_*nny 8 indexing search solr solandra

我有一个包含许多条目的Solr索引,并在查询时返回一些子集 - 每个条目都有一些分数,(明显).一旦结果与分数一起返回,我希望能够"保留"高于某个分数的结果(即仅具有特定质量的结果).当返回的子集可能是什么时,是否可以这样做?

我问,因为在某些查询中似乎有一个得分为0.008的结果导致了一个不错的匹配,而其他查询得分较高会导致匹配不佳.

理想情况下,我只是在寻找一种方法来获取顶级x条目,只要它们至少具有一定的质量.

提前致谢!

jpo*_*ntz 5

我认为你不应该这样做。使用 TF-IDF 评分模型,无法计算出高于该分数的所有结果都相关的分数,反之亦然。如果您设法做到这一点,那么在对索引进行几次更新后,该阈值很可能将不再有效(因为文档频率会发生变化)。

如果您仍然想这样做,我认为可以使用函数查询来实现:Solr 中有一个if(在主干中)和一个可用的函数。query只需过滤您的结果,以便仅保留分数高于给定阈值的条目。