Solr:如何在Boost函数查询中添加条件

时间:2015-01-15 18:48:13

标签: java solr solr-query-syntax function-query

我正在尝试查看是否可以在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

1 个答案:

答案 0 :(得分:1)

好的,经过一些研究,我发现了正确的语法。

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

希望这有助于他人。