Solr:如何在 Boost 函数查询中添加条件
Solr : How to add conditions in Boost function query
我正在尝试查看是否可以在 Solr 增强函数查询中使用条件。现在,我正在使用以下函数来提升点赞数据。
bf=recip(ms(NOW/DAY,PublishDate),3.16e-11,1,1)^2.0 sum(Likes,2)
我想做的是根据某些条件对 "Likes" 应用提升。
例如
if Source="A" or "B" or "C", then sum(Likes,4)
else-if Source="D" then sum(Likes,3)
else 总和(喜欢,2)。
"if" 函数适用于单个条件,但不确定如何解决 if-else 条件。
if(termfreq(Source2,'A'),sum(Likes,3),0)
由于性能开销,我试图避免嵌套查询。
任何指针将不胜感激。
-谢谢,
沙米克
好的,经过一些研究,我找到了正确的语法。
if(termfreq(Source2,'A'),sum(Likes,3),if(termfreq(Source2,'B'),sum(Likes,3),0))
希望这对其他人有帮助。
我正在尝试查看是否可以在 Solr 增强函数查询中使用条件。现在,我正在使用以下函数来提升点赞数据。
bf=recip(ms(NOW/DAY,PublishDate),3.16e-11,1,1)^2.0 sum(Likes,2)
我想做的是根据某些条件对 "Likes" 应用提升。 例如
if Source="A" or "B" or "C", then sum(Likes,4)
else-if Source="D" then sum(Likes,3)
else 总和(喜欢,2)。
"if" 函数适用于单个条件,但不确定如何解决 if-else 条件。
if(termfreq(Source2,'A'),sum(Likes,3),0)
由于性能开销,我试图避免嵌套查询。
任何指针将不胜感激。
-谢谢,
沙米克
好的,经过一些研究,我找到了正确的语法。
if(termfreq(Source2,'A'),sum(Likes,3),if(termfreq(Source2,'B'),sum(Likes,3),0))
希望这对其他人有帮助。