Elasticsearch Curator v8.0.18发布:全面兼容Elasticsearch 7.x系列的重大更新
Elasticsearch Curator是一个用于管理Elasticsearch索引的强大工具,它可以帮助用户自动化执行日常的索引管理任务,如创建、优化等操作。最新发布的Curator v8.0.18版本带来了一个重要的改进:全面兼容Elasticsearch 7.14.x及更高版本,这对于仍在使用Elasticsearch 7.x系列的用户来说是一个重大利好。
版本兼容性扩展
Curator v8.0.18通过升级其依赖的es_client库至8.17.2版本,实现了对Elasticsearch 7.14.x及更高版本的全面支持。经过严格测试,该版本已确认可以与Elasticsearch v7.14.0、v7.14.2、v7.17.7、v7.17.25和v7.17.27等版本完美配合工作。虽然由于M系列处理器上的JVM问题(OpenJDK 16至19之间的版本存在兼容性问题)导致无法在MacBook Pro上测试v7.15.x至v7.17.6版本,但由于7.14和7.17系列之间没有影响Curator的API变更,我们有理由相信这些版本也能正常工作。
系统索引默认排除
新版本中,Curator默认会排除系统索引,这一改进增强了操作的安全性。默认排除的系统索引模式包括:
-.kibana*,-.security*,-.watch*,-.triggered_watch*,-.ml*,-.geoip_databases*,-.logstash*,-.tasks*
这一变更减少了意外操作系统索引的风险,特别适合在生产环境中使用。
功能增强
在测试过程中,开发团队发现了一个与恢复功能相关的重要问题。原先的恢复操作类要求用户提供确切的索引名称来进行恢复,而实际上Elasticsearch的恢复API支持使用多目标语法(逗号分隔的模式)来选择和取消选择索引。虽然这种模式匹配功能并未明确禁止使用,但由于无法正确验证和匹配模式而非精确名称,导致功能存在缺陷。
为解决这一问题,开发团队在helpers.utils模块中新增了三个关键函数:
- multitarget_match:用于多目标模式匹配
- multitarget_fix:用于修复多目标模式
- regex_loop:提供正则表达式循环支持
现在,Restore类在其_get_expected_output方法中调用multitarget_match来从列表对象中获取名称,这使得使用模式匹配成为可能,相关测试也已更新以确保这一功能的可靠性。
代码质量提升
本次发布还包含了大量代码风格改进,使其更加符合PEP8规范。这些改进包括:
- 大量注释和代码换行的优化
- 集成测试的相应更新
- 在curator.defaults中新增了VERSION_MAX和VERSION_MIN常量,用于版本兼容性检查(VERSION_MIN设置为7.14.0)
日期数学功能修复
开发团队还修复了包含冒号的日期模式(datemath)的集成测试问题。过去由于Elasticsearch将冒号字符评估为远程索引的潜在指示符,导致这一问题。该问题已在Elasticsearch 8.7.0版本中得到修复。
迁移注意事项
虽然Curator v8可以使用v7版本的动作配置文件,但客户端配置文件需要进行调整。文档中详细说明了这些语法差异,用户在升级时应当仔细阅读相关说明以确保平滑过渡。
这一版本的发布为仍在使用Elasticsearch 7.x系列的用户提供了升级到Curator v8的机会,使他们能够享受到新版本带来的各种改进和增强功能,同时保持与现有Elasticsearch版本的兼容性。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03