【问题标题】:How to check equality of two Solr Fields?如何检查两个 Solr 字段的相等性?
【发布时间】:2023-04-04 13:34:01
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: solr indexing


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 2013-08-30
      • 1970-01-01
      • 2013-02-25
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 2015-07-19
      • 2015-10-30
      • 1970-01-01
      相关资源
      最近更新 更多