1
我正在使用elastic4s來實現彈性搜索。我正在嘗試啓用ttl,但我無法弄清楚它是如何實現的?我的意思是啓用_ttl將是真實的,但在代碼中,我應該如何實現它?我使用的是最新版本1.3.2 elastic4s使用elastic4s在scala中啓用ttl
我正在使用elastic4s來實現彈性搜索。我正在嘗試啓用ttl,但我無法弄清楚它是如何實現的?我的意思是啓用_ttl將是真實的,但在代碼中,我應該如何實現它?我使用的是最新版本1.3.2 elastic4s使用elastic4s在scala中啓用ttl
如果你已經啓用了它,當你需要的是索引文檔時,喜歡把它作爲一個字段:
index into "documents/doc" fields (
"title" -> document.title,
"description" -> document.description,
"_ttl" -> 30.minutes.toMillis // TTL should be passed as milliseconds number
)
UPD:此外,還有是特殊的DSL支持彈性4s爲ttl:
index into "documents/doc" ttl 30.minutes.toMillis fields (
"title" -> document.title,
"description" -> document.description
)
謝謝你的答案。因此,在您的示例中,該條目將在30分鐘後自動刪除。是這樣嗎?我只是用5秒或1分鐘嘗試它,並且在ttl時間過後它不刪除它? – igalbenardete 2014-09-30 08:31:45
它的TTL等於30分鐘,但有一些問題:elasticsearch在到期後不會立即刪除它。彈性搜索刪除它們有一定的時間間隔,請參閱http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-ttl-field.html – alno 2014-09-30 10:24:55
中的最後一段。另外,在elastic4s 1.4.9之後,你可以爲ttl使用正常的scala持續時間,例如'client.execute {索引到「電子/電話」字段「供應商」 - >「黑莓」ttl 1.second } – monkjack 2015-01-16 02:59:07