0

fs_votingapi_result在 solr 文档中添加了这表示喜欢的数量。

我发现下面的函数可以根据fs_votingapi_result.

但我无法理解这背后的逻辑——额外的参数$vote_steepness, $total, $total, 是$vote_boost什么?

bf=recip(rord(fs_votingapi_result),$vote_steepness,$total,$total)^$vote_boost

我是 solr 的新手,我无法找到任何文档/文章来了解更多关于此的信息。

4

1 回答 1

1

这在函数查询文档中。

收据

recip(x,m,a,b) 实现 a/(m*x+b) 的倒数函数。m,a,b 是常数,x 是任何数值字段或任意复杂的函数。


索引值的反转序号。(在您的情况下,函数:rord(fs_votingapi_result)将产生1最多票数、2第二票数等的记录……)


所以

recip(rord(fs_votingapi_result),$vote_steepness,$total,$total)

= $total / ($vote_steepness * rev-ordinal-of-vote-result + $total)

然后将结果提升$vote_boost以创建提升函数(来自bf参数)。

= ($total / ($vote_steepness * rev-ordinal-of-vote-result + $total)) * $vote_boost

从其余查询中将其添加到文档分数中。(然后在返回分数之前,它们会在所有匹配的文档中进行标准化)

这些$<var>值要么在 solrconfig.xml 中定义,要么通常作为单独的 http 查询参数传递。

希望能给你一个起点。

于 2015-12-26T14:55:00.170 回答