如何在 Solr 中计算"生存时间"(TTL) 中文档的过期字段值?



我浏览了Java-doc @ DocExpirationUpdateProcessorFactory。它说:

DocExexpationUpdateProcessorFactory 提供了两个相关的功能 到可以单独使用或在 组合:

  • 从"生存时间"(TTL( 计算文档的过期字段值
  • 根据过期字段定期从索引中删除文档

但它没有指定如何从 ttl 字段计算过期字段值。

任何人都可以帮助了解它是如何计算的?

ttlFieldName- 此过程应在处理的每个文档中查找的字段的名称,默认为_ttl_。如果文档中存在指定的字段名称,则文档字段值将解析为相对于 NOW 的日期数学表达式,并且结果将使用expirationFieldName添加到文档中。

这意味着您可以在_ttl_字段中使用+2 HOURS等术语,使文档在编制索引后的两小时内过期。然后,此日期值将存储在expirationFieldName字段中。

来自Cloudera关于该功能介绍的文档:

当前时间是:2016-10-26 20:14:00

_ttl_定义为:+2小时

这将导致过期值为2016-10-26 22:14:00

在Lucidworks中对该功能的描述中还有更多示例:

{ "id"             : "live_2_minutes_b",
"time_to_live_s" : "+120SECONDS"            
},

相关内容

最新更新