当前位置: 首页 > 面试题库 >

有没有办法在elasticsearch索引中设置ttl

颜森
2023-03-14
问题内容

我可以看到文档说我们可以ttl在文档上设置,但不能在索引/索引上设置。还想知道如果我们设置它是否对性能有影响ttl


问题答案:

_ttl已为每个索引启用,但有效期为每个文档。

如果您希望索引“过期”,请删除它们。更简单,更高效。

是的,_ttl对性能有影响。Elasticsearch处理“过期”数据的“方式”是创建基于时间的索引。意思是,您每天或每周都会创建一个索引。在该索引中索引属于该日/周的所有内容。您决定要保留多少天并坚持这个数字。

假设您要将数据保留7天。与往常一样,在第8天创建新索引,然后从8天之前删除索引。您将一直拥有7个索引。该ttl机制每隔一段时间indices.ttl.interval(默认情况下为60秒)检查一次过期的文档,从中创建大量请求并将其删除。这意味着不必要的请求进入集群。

相反,删除索引非常简单快捷。

看看这以及如何使用Curator轻松管理基于时间的索引。



 类似资料:
  • Spring HATEOAS提供了方便的ControllerLinkBuilder来创建指向控制器方法的链接,这些方法将作为HREF添加到返回给客户端的JSON/XML中。例如: ... 可能会生成类似以下内容的JSON: 然而... 我倾向于通过反向代理访问我的服务。我想大多数人可能会这样做。这让我可以在不同的端口上运行多个服务,但让我可以通过相同的基本URL访问它们。不幸的是,通过代理访问意味

  • 我正在设置Filebeat将日志发送到Elasticsearch。这是我的: 我有这个文件: 我期待着这份日志被发送到Elasticsearch。Elasticsearch在localhost的Docker容器中运行,地址为9200。 当我运行filebeat(Docker)时,Elasticsearch中不会创建索引。所以,在基巴纳,我没有看到任何数据。 为什么?Filebeat不应该自动创建索

  • 问题内容: 来自目标C的您可以在2个对象之间调用函数以使它们维护一个引用,如果在运行时您不希望在删除该对象的引用之前也不要破坏该对象的话,这会很方便。迅捷有与此类似的东西吗? 问题答案: 这是一个从jckarter的答案衍生而来的简单但完整的示例。 它显示了如何向现有类添加新属性。它通过在扩展块中定义计算属性来实现。计算的属性存储为关联的对象: 编辑: 如果需要支持获取未初始化属性的值并避免发生错

  • 问题内容: 在使用Nest构建我的Elasticsearch查询时,我希望能够看到发送到Elasticsearch的JSON版本。这可能吗?我想是某种解串器。 这是我的后续问题的信息: 问题答案: 对。您可以像这样使用ElasticClient公开的序列化器: 您也可以直接使用Newtonsoft或任何JSON库来序列化查询对象。不过,在ElasticClient中使用序列化器(本质上是包装New

  • 问题内容: 我来自iOS开发,我想知道是否可以像iOS中那样以编程方式设置?并添加in代码。还是设置a 使用绑定的唯一方法? 谢谢! 问题答案: 感谢@stevesliva为我指出了 。我将其转换为Swift。这就是我得到的。 我在ViewController中创建一个NSCollectionView: 在ViewController中创建的CollectionViewItem只需加载一个视图,即

  • 我可以用CURL设置breaker.fielddata限制,但不遵守config中的设置: ES版本:1.6.0 在我的节点配置中 /etc/elasticsearch/elasticsearch.yml 配置中将fielddata限制设置为60%(8G堆中的4.7G),但是: 我可以将indices.breaker.fielddata.limit更改为60% 为什么配置中的行形式不受尊重?