![](/img/trans.png)
[英]How to set TTL to a particular field while updating it in Solr documents
[英]How expiration field values for documents from a “time to live” (TTL) is calculated in Solr?
我瀏覽了 Java-doc @ DocExpirationUpdateProcessorFactory 。 它說:
DocExpirationUpdateProcessorFactory 提供了兩個與文檔“過期”相關的功能,可以單獨使用,也可以組合使用:
- 從“生存時間”(TTL)計算文檔的過期字段值
- 根據過期字段定期從索引中刪除文檔
但它沒有指定如何從 ttl 字段計算 expireField 值。
任何人都可以幫助理解它是如何計算的?
ttlFieldName
- 此進程應在處理的每個文檔中查找的字段名稱,默認為_ttl_
。 如果文檔中存在指定的字段名稱,則文檔字段值將被解析為相對於 NOW 的日期數學表達式,並將使用expirationFieldName
將結果添加到文檔中。
這意味着您可以在_ttl_
字段中使用+2 HOURS
之類的術語,以使文檔在被索引后兩小時內過期。 然后,此日期值將存儲在expirationFieldName
字段中。
當前時間為:
2016-10-26 20:14:00
_ttl_
定義為:+2HOURS這將導致到期值為
2016-10-26 22:14:00
{ "id" : "live_2_minutes_b",
"time_to_live_s" : "+120SECONDS"
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.