选择solr文档的语法是什么,其中一个字段比另一个字段好?
更具体地说,这适用于包含日期的两个字段。
答案 0 :(得分:18)
我发现这个问题寻找同样的事情。事实证明,您可以使用filter query进行字段比较,特别是frange和sub。
frange
可以采用下限l
或上限u
,或两者兼而有之。
可选值incl
和incu
会通知过滤器边界是否包含。
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。