4

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

这是我的架构的 Solr 字段名称field_1field_2

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

谁能分享如何从 Solr where 获取这些记录!(creation_date = last_edited_date)

4

1 回答 1

2

AFAIK 日期比较不像其他领域那么直接。

有两种选择

  • 拥有另一个计算字段(布尔值)creation_date_equals_last_edited并将其设置为 true,以便在索引时匹配它的文档。将此字段用作过滤条件。

  • 使用frange,inclsub在查询时间内计算。一个例子 -

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

如果您想要日期差异的容差(由于边缘时间戳差异),您可以使用scale函数查询。

参考:Solr 函数查询

于 2013-04-10T14:22:43.593 回答