使用函数查询在Solr中提升分数

使用函数查询在Solr中提升分数,第1张

概述我在Solr 4上工作,根据存储在Index中的流行度等级来优化我的solr结果排名. 现在当有人搜索时,除了相关性排名之外,我想使用人气排名来影响相关性排名.最简单的公式可能是: new relavancy rank = score * popularityrank 我一直在寻找在http://wiki.apache.org/solr/FunctionQuery#product处的Solr函数查 我在Solr 4上工作,根据存储在Index中的流行度等级来优化我的solr结果排名.

现在当有人搜索时,除了相关性排名之外,我想使用人气排名来影响相关性排名.最简单的公式可能是:

new relavancy rank = score * popularityrank

我一直在寻找在http://wiki.apache.org/solr/FunctionQuery#product处的Solr函数查询来实现相同,但是我不知道如何让它工作.我没有得到如何使用产品功能得分.试图完成它,我总是得到错误,因为字段没有定义.

现在我可以使用How to boost fields in solr中定义的boost,但我还有其他逻辑/要求,我想使用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,但是我无法找到如何做到这一点.

任何帮助都是高度适用的.

解决方法 您可以尝试使用Solr提供的_val_钩子.

例如,要按分数* popularrank排序,请尝试使用此选项

http://solr:8983/solr/select?q=hp%20laptop&_val_="product(score,popularityrank)"
总结

以上是内存溢出为你收集整理的使用函数查询在Solr中提升分数全部内容,希望文章能够帮你解决使用函数查询在Solr中提升分数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存