我面临的情况是我需要从 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)
如果您希望在日期差异中容忍(由于边际时间戳差异),您可以使用
scale
功能查询。引用:Solr Function QUery
关于solr - 如何检查两个 Solr 字段的相等性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15927893/