我正在尝试查看是否可以在Solr boost函数查询中使用条件。现在,我正在使用以下函数来增加喜欢数据。
bf=recip(ms(NOW/DAY,PublishDate),3.16e-11,1,1)^2.0 sum(Likes,2)
我想要做的是根据某些条件对“喜欢”应用提升。 对于例如
如果Source =“A”或“B”或“C”,则总和(喜欢,4)
else-if Source =“D”then sum(Likes,3)
否则总和(喜欢,2)。
“if”函数适用于单个条件,但不确定如何解决if-else条件。
if(termfreq(Source2,'A'),sum(Likes,3),0)
由于性能开销,我试图避免嵌套查询。
任何指针都会受到赞赏。
-Thanks,
Shamik
答案 0 :(得分:1)
好的,经过一些研究,我发现了正确的语法。
if(termfreq(Source2,'A'),sum(Likes,3),if(termfreq(Source2,'B'),sum(Likes,3),0))
希望这有助于他人。