选择solr文档,其中一个字段比另一个字段大

Joy*_*yce 5 solr

选择solr文档的语法是什么,其中一个字段比另一个字段大?

更具体地说,这适用于包含日期的两个字段.

小智 18

我发现这个问题寻找同样的事情.事实证明,您可以使用过滤查询按字段比较进行过滤,尤其是frange和sub.

frange可以采用下限l或上限u,或两者兼而有之.可选值incl,incu如果边界是否包含,则通知过滤器.

sub 减去文字数字或文档字段.

所以答案是添加一个只接受A减去B大于零的文档的过滤器.将下限设置为0,省略上限,设置incl为false以排除下限本身(删除A == B的文档)

fq={!frange l=0 incl=false}sub(A,B)

URL编码: fq=%7B!frange+l%3D0+incl%3Dfalse%7Dsub(A%2CB)


Jar*_*łka 6

查找不支持date_A> date_B的所有文档.

如果您只是比较data_A和date_B,那么当date_A> date_B时,您可以为文档索引另一个字段date_a_greater_than_date_b:true.