0
是否可以通过存储在两个字段中的值之间的数学函数的结果搜索Solr?通过两个字段的除法结果进行Solr搜索
例如:
?fq=FIELDA:{!func}div(FIELDA, FIELDB)
或:
?fq=FIELDA:[* TO 100/FIELDB]
我很欣赏你的大大的建议。
是否可以通过存储在两个字段中的值之间的数学函数的结果搜索Solr?通过两个字段的除法结果进行Solr搜索
例如:
?fq=FIELDA:{!func}div(FIELDA, FIELDB)
或:
?fq=FIELDA:[* TO 100/FIELDB]
我很欣赏你的大大的建议。
是的。您可以使用Frange查询
例如:(注:这个想法是展示一个例子,而不是提供一个深思熟虑的公式)
fq={!frange l=0 u=0} sub(div(FIELDA, FIELDB),FIELDA)
q={!frange l=10 u=10} div(FIELDA,1) # this will search for 10 in FIELDA
非常感谢您的回答。我从第一个例子开始,使用'q = FIELDA:{!func} div(10,2)'并且收到错误'org.apache.solr.search.SyntaxError:pos 7 str ='div(10, ''。不知道有什么可能会丢失... – Jacek
你能发布完整的URL和solr版本吗? – leoh
嗨,这是我的不好,显示第一个q例子,我修改了答案,请使用frange代替。诸如“q = {!frange l = 10 u = 10} div(FIELDA,1)”这样的东西应该可以工作 – leoh