我有一个表达式if(and(tf(MSTATUS_FILTER,Y),if(tf(PARTNER_MSTATUS,$loggedInProfileObj->getMSTATUS()),0,1)),1,0)
,这个表达式的输出是1
or 0
。
我需要根据这个表达式的输出对 solr 进行搜索。
这里$loggedInProfileObj->getMSTATUS()
给出了在运行时在 solr 上发送查询的值
这可能吗?
我有一个表达式if(and(tf(MSTATUS_FILTER,Y),if(tf(PARTNER_MSTATUS,$loggedInProfileObj->getMSTATUS()),0,1)),1,0)
,这个表达式的输出是1
or 0
。
我需要根据这个表达式的输出对 solr 进行搜索。
这里$loggedInProfileObj->getMSTATUS()
给出了在运行时在 solr 上发送查询的值
这可能吗?
不确定是否有更好的方法来执行此操作。但是,您可以使用FunctionRangeQParserPlugin
检查函数查询的过滤器查询支持
eg 过滤查询示例:fq={!frange l=0 u=0.99}if(and(tf(MSTATUS_FILTER,Y),if(tf(PARTNER_MSTATUS,$loggedInProfileObj->getMSTATUS()),0,1)),1,0)