我正在研究 Solr 4,用于根据 Index 中存储的流行度排名优化我的 solr 结果排名。
现在,当有人搜索时,除了相关性排名之外,我还想使用流行度排名来影响相关性排名。最简单的公式可能是:
新的相关度排名 = 得分 * 人气排名
我一直在http://wiki.apache.org/solr/FunctionQuery#product上查看 Solr 函数查询以实现相同的目的,但是,我不确定如何使其工作。我不知道如何使用乘积函数将分数相乘。试图完成它,我总是收到错误,因为未定义字段。
现在我可以使用此处定义的 boost How to boost fields in solr,但我有额外的逻辑/要求,我想使用 Solr 提供的功能查询。
例如,我尝试了以下似乎可行的简单查询
http://solr:8983/solr/select?q=hp%20laptop&defType=edismax&fl=Id,Name,score&bf=product%28$v1,$v2%29&v1=Id&v2=2
现在,对于我的实际要求,我想将分数作为 $v2,但是我无法找到如何做到这一点。
任何帮助都会受到高度赞赏。