我面临一种情况,我需要从 Solr 服务器获取所有这些记录,条件是field_1.value != field_2.value
.
这是我的架构的 Solr 字段名称field_1
。field_2
我试过!(creation_date = last_edited_date)
了,但它不起作用。这将返回 Solr 服务器在执行查询时包含的所有 Solr 文档。
谁能分享如何从 Solr where 获取这些记录!(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)
如果您想要日期差异的容差(由于边缘时间戳差异),您可以使用scale
函数查询。
参考:Solr 函数查询