type
status
date
slug
summary
tags
category
icon
password
ElasticSearch面试题
Rollover是什么
在Elasticsearch中,rollover是一种管理索引的机制,主要用于处理时间序列数据或日志数据。它允许你在索引达到某些条件(如文档数量、索引大小或索引年龄)时,自动创建一个新的索引,并将写操作切换到这个新索引上。这种机制有助于保持索引的性能和管理的简便性。
Rollover的工作原理
别名管理:
- Rollover通常与别名(alias)一起使用。一个别名可以指向一个或多个索引,并且可以被用作索引的逻辑名称。
- 在rollover过程中,别名会被更新以指向新的活跃索引。
触发条件:
- Rollover可以基于以下条件触发:
- 最大文档数:当索引中的文档数量达到指定的阈值时。
- 最大索引大小:当索引的物理大小达到指定的阈值时。
- 最大索引年龄:当索引的存在时间达到指定的阈值时。
操作流程:
- 当满足任何一个触发条件时,Elasticsearch会创建一个新的索引。
- 更新别名以指向新的索引。
- 继续将新的数据写入到新的索引中。
Rollover的优势
- 性能优化:通过限制单个索引的大小或文档数量,确保查询和写入操作的性能。
- 管理简便:自动化的索引管理减少了手动干预的需要。
- 数据组织:适合处理时间序列数据,便于按时间段管理和查询数据。
使用场景
Rollover特别适合用于日志管理、监控数据、时间序列数据等场景。在这些场景中,数据量通常很大,并且需要按时间段进行管理和查询。通过rollover机制,Elasticsearch可以自动管理索引的生命周期,确保系统在处理大量数据时仍然保持高效和稳定。
查看索引
创建索引
删除索引
更新索引
Elasticsearch不允许直接更新索引的映射(mapping),但可以更新索引的设置(settings)
更新索引映射(只能添加新字段)
创建文档
删除文档
修改文档
查询文档
Match Query
Bool Query(多条件/组合查询)
可以使用must(and)、should(or)、must_not(not)等逻辑组合
Range Query(范围查询)
- 作者:JackJame
- 链接:https://notion.qjit1314.eu.org/article/example-14
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。


