scala - 使用elastic4s在Scala中启用ttl

标签 scala elasticsearch ttl elastic4s

我正在使用elastic4s实现 flex 搜索。我正在尝试启用ttl,但我不知道怎么办?我的意思是,启用_ttl是正确的,但是在代码中,我应该在哪里以及如何实现它?我正在为Elastic4s使用最新版本1.3.2

最佳答案

如果您已启用它,则在编制文档索引时,只需要将其作为字段传递即可,例如:

index into "documents/doc" fields (
  "title" -> document.title,
  "description" -> document.description,
  "_ttl" -> 30.minutes.toMillis // TTL should be passed as milliseconds number
)

UPD:另外,ttl的elastic4s中有特殊的DSL支持:
index into "documents/doc" ttl 30.minutes.toMillis fields (
  "title" -> document.title,
  "description" -> document.description
)

关于scala - 使用elastic4s在Scala中启用ttl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26096746/

相关文章:

redis - 查找所有在接下来的 X 小时内过期的 key

sql - 仅选择存在的字段(SQL 或 Scala)

java - 在 Spark Java 应用程序中使用 Tuple2 时出现编译错误

在方法调用后定义隐式 val 时,Scala 隐式参数为 null

elasticsearch - 用于查询字段的多个分析器(按字段)

elasticsearch - 使用Hive/弹性连接器索引数据时启用压缩

scala 将 Iterator[Option[T]] 转换为 Iterator[T]

symfony - Silex + FOQElasticaBundle

javascript - Mongodb 更新过期

cassandra - cassandra 中 TTL 的最大值