我经历了Java-doc @ DocExpirationUpdateProcessorFactory 。它说:
DocExpirationUpdateProcessorFactory提供了两个相关的功能可以单独使用或用于组合:
- 从“生存时间”(TTL)计算文档的过期字段值
- 根据过期字段定期从索引中删除文档
但未指定如何从ttl字段计算expirationField值。
任何人都可以帮助您了解其计算方式吗?
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"
},