是否可以“合理地”设置Solr评分阈值,而不依赖于返回的结果?(即Solr评分是否以任何方式标准化)

swvgeqrz  于 2022-11-23  发布在  Solr
关注(0)|答案(2)|浏览(220)

我有一个Solr索引,它有很多条目,在查询时会返回一些子集--每个条目都有一些分数,(显而易见)。一旦返回了带有分数的结果,我希望能够只“保留”高于某个分数的结果(即只保留具有特定质量的结果)。当返回的子集可以是任何东西时,是否可以这样做?
我这样问是因为在某些查询中,分数为0.008的查询会得到一个不错的匹配,而其他查询的分数更高则会得到一个差的匹配。
理想情况下,我只是在寻找一种方法,只要顶部的x条目至少具有一定的质量,就可以使用它。

2ul0zpep

2ul0zpep1#

我认为您不应该这样做。使用TF-IDF评分模型,没有办法计算出一个分数,如果高于该分数,所有结果都是相关的,反之亦然。如果您设法做到了这一点,很可能在对索引进行几次更新后,该阈值将不再有效(因为文档频率将发生变化)。
如果您仍然想这样做,我认为使用函数查询是可以实现的:Solr中有一个if(在trunk中)和一个query函数。只需过滤结果,以便只保留分数高于给定阈值的条目。

vmpqdwk3

vmpqdwk32#

还想先通过ScoresAsPercentages
Solr不对分数进行标准化,因为它可以在客户端轻松完成。
您可以使用结果中提供的maxScore,方法是将所有分数除以maxScore。
第一个记录的分数为1,然后是其他记录。

相关问题