如何检查两个Solr Fields的相等性?

我面临的情况是我需要从Solr服务器获取所有这些记录,条件是field_1.value!= field_2.value.

这里field_1和field_2是我的架构的Solr字段名称.

我试过了!(creation_date = last_edited_date)但它不起作用.这将返回Solr服务器在执行查询时包含的所有Solr文档.

任何人都可以分享如何从Solr获取那些记录!(creation_date = last_edited_date)?

最佳答案 AFAIK日期比较并不像其他领域那样直接.

有两种选择可以想到

>具有另一个计算字段(布尔值)creation_date_equals_last_edited,并在索引时将其与匹配它的文档设置为true.使用此字段作为筛选条件.
>使用frange,incl和sub在查询时计算它.一个例子 –

fq = {!frange l = 0 incl = false} sub(creation_date,last_edited_date)

如果您希望在日期差异中容差(由于边际时间戳差异),您可以使用缩放函数查询.

参考:Solr Function QUery

点赞