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

问题描述 投票:1回答:1

我经历了Java-doc @ DocExpirationUpdateProcessorFactory 。它说:

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

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

但未指定如何从ttl字段计算expirationField值。

任何人都可以帮助您了解其计算方式吗?

solr solr4
1个回答
0
投票

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

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

来自Cloudera's documentation about the introduction of the feature

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

_ttl_定义为:+ 2HOURS

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

also more examples in Lucidworks description of the feature

{ "id"             : "live_2_minutes_b",
  "time_to_live_s" : "+120SECONDS"            
},
© www.soinside.com 2019 - 2024. All rights reserved.