本文主要是介绍关于solrcloud 排序控制问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. Solr文本匹配不同字段的相关度权重设置需要做如下设置:1)启用edismax选项,在检索url上添加defType=edismax参数
2)设置q参数为搜索关键词,这里不要再写搜索表达式了
3)设置qf参数,指定不同字段的权重,例如:title^10 keywords^10 content^1 表示title字段的权重设置为10,keywords为10,content权重设置为1
2. Solr非检索字段权重设置,需要设置查询的bf(boost function)参数,solr中提供了几十个数学函数可以做权重提升的函数设置,下面是一个简单的例子:
sum(sum(if(setTop,10000,0),sqrt(pv)),product(0.00001,sub(30,div(ms(NOW,createTime),86400000))))
说明如下:
1)这个函数中首先对是否指定做判断加权:if(setTop,10000,0)
2)Sqrt(pv)对pv做开方
3)product(0.00001,sub(30,div(ms(NOW,createTime),86400000)) 30 - 创建时间距离现在的天数 然后乘以 0.00001
4)使用sum函数对1,2,3三部分的加权做求和
这篇关于关于solrcloud 排序控制问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!