0

我正在尝试查看是否可以在 Solr boost 函数查询中使用条件。现在,我正在使用以下函数来提升 Likes 数据。

bf=recip(ms(NOW/DAY,PublishDate),3.16e-11,1,1)^2.0 sum(Likes,2) 

我想做的是根据某些条件对“喜欢”应用提升。例如

如果 Source="A" 或 "B" 或 "C",则 sum(Likes,4)

else-if Source="D" then sum(Likes,3)

否则总和(喜欢,2)。

“if”函数适用于单个条件,但不确定如何处理 if-else 条件。

if(termfreq(Source2,'A'),sum(Likes,3),0)

由于性能开销,我试图避免嵌套查询。

任何指针将不胜感激。

-谢谢,

沙米克

4

1 回答 1

1

好的,经过一番研究,我找到了正确的语法。

if(termfreq(Source2,'A'),sum(Likes,3),if(termfreq(Source2,'B'),sum(Likes,3),0))

希望这对其他人有帮助。

于 2015-01-15T20:00:55.823 回答