gpt4 book ai didi

Solr 函数查询 : gte, lte,eq 函数

转载 作者:行者123 更新时间:2023-12-04 15:12:58 26 4
gpt4 key购买 nike

Solr FunctionQuery 有一个 DIV(x,y) 函数。我有这样的需求如果y=0,那么y应该等于x。

换句话说,我需要用 FunctionQuery 来表示以下逻辑:

if y == 0, return 1 /* i.e. DIV(x,x) */
else, return DIV(x,y)

不知何故,从 Solr 文档中,我找不到任何比较函数,例如EQ(x, value) 等供我使用。

任何人都可以给我提示使用 FunctionQuery 构建我想要的逻辑吗?

谢谢!

最佳答案

要清理这个问题并记录我的最终解决方案是什么,感谢 Srikanth Venugopalan 评论:

actually you need to switch the arguments. exposure_count = 0 is interpreted as false. So your condition would be {!boost b=if(exposure_count,div(1,exposure_count),1)}"



看起来,Lucid 的作品 documentation确实有错误。 FunctionQuery 解析器并没有采用 == 等比较运算符,至少这是我通过查看源代码发现的。此外,IF() 函数的字段分隔符应该是 ,(逗号)而不是 ;(分号)。

Solr官方 wiki是正确的。

关于Solr 函数查询 : gte, lte,eq 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15513394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com