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

时间:2012-03-27 15:31:23

标签: solr

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

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

2 个答案:

答案 0 :(得分:18)

我发现这个问题寻找同样的事情。事实证明,您可以使用filter query进行字段比较,特别是frange和sub。

frange可以采用下限l或上限u,或两者兼而有之。 可选值inclincu会通知过滤器边界是否包含。

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

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

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

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

答案 1 :(得分:6)

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

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