Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。Elasticsearch 是用 Java 开发的,并在 Apache 许可证下作为开源软件发布。官方客户端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和许多其他语言中都是可用的。
Elasticsearch 7.17.22 现已发布,具体更新内容如下:
Breaking changes
更严格的 Document Level Security (DLS)
当 min_doc_count 设置为 0 时,DLS 对验证查询 API 和 terms aggregations 应用更严格的检查。
- 详细信息:当将 DLS 应用于 terms aggregations 并将 min_doc_count 设置为 0 时,将应用更严格的安全规则。当将 DLS 应用于带有重写参数的验证查询 API 时,将应用更严格的安全规则。
- 影响:如果需要,建议启用 DLS 测试 workflows,以确保更严格的安全规则不会影响你的应用程序。
- 补救措施:在 terms aggregations 中将 min_doc_count 设置为大于 0 的值,或者使用不受 DLS 约束的帐户进行验证查询 API 调用。
- 在 Elasticsearch 配置中设置
xpack.security.dls.force_terms_aggs_to_exclude_deleted_docs.enabled
为false
,以恢复到以前的行为。 - 在 Elasticsearch 配置中设置
xpack.security.dls.error_when_validate_query_with_rewrite.enabled
为false
,以恢复到以前的行为。
- 在 Elasticsearch 配置中设置
Bug 修复
Infra/CLI
- 解决 JDK 22 和 22.0.1 的 G1 错误#108571
Mapping
- 禁用
index.mapper.dynamic
索引设置验证#109160
Security
- 阻止启动后读取特定配置文件#107481
Upgrades
Packaging
- 将捆绑的 JDK 再次更新至 Java 22 #108654
Snapshot/Restore
- 将所有 protobuf 用法与 3.21.9 对齐#92123
详情可查看更新公告。