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))

希望这对其他人有帮助。