---
title: "Easysearch 2.4.0 发布:原生 HNSW 与混合检索,管理体验全面升级"
date: 2026-09-11
lastmod: 2026-09-11
description: "INFINI Easysearch 2.4.0 正式发布。内置原生 HNSW 向量搜索,支持关键词与向量混合检索,兼容 Elasticsearch 8.19 API 和官方客户端。新增可视化 Mapping 编辑器,并升级集群设置、生命周期策略、快照恢复、密钥库和插件管理。"
tags: ["Easysearch", "产品更新", "HNSW", "向量搜索", "混合检索"]
summary: "INFINI Easysearch 2.4.0 正式发布。本版本将向量搜索纳入内核:基于 Lucene 的原生 HNSW,关键词与语义向量可混合检索。控制台新增可视化 Mapping 编辑器,集群设置可同时查看临时、持久、默认三层配置。生命周期策略、可搜索快照、密钥库与插件管理同步更新,高并发下的字段使用统计和磁盘用量分析也更稳定。
主要更新如下:
功能特性 (Features) # 原生 HNSW 向量搜索与混合检索 # 内置基于 Lucene 的 HNSW 向量索引。新建索引可直接使用 dense_vector、query-level knn 和顶层 knn,无需安装 k-NN 插件。 支持 1~4096 维 float 向量,以及 cosine、dot_product、l2_norm、max_inner_product 四种相似度算法。 支持通过 m、ef_construction 和 num_candidates 调整索引构建与查询效果;省略 index_options 时默认使用 hnsw(m=16, ef_construction=100)。 支持一个顶层关键词 query 与一个顶层 knn 并列执行,通过结果并集与加权评分实现关键词、语义向量的混合召回。 兼容 Elasticsearch 8.19.17 的 float HNSW mapping、Bulk、kNN 查询和 wire 行为,以及 Elasticsearch Java 8.19.17、Python 8.19.3 官方客户端,现有应用可直接对接。 更多用法及兼容边界请参阅 原生 HNSW 搜索文档。"
---
**INFINI Easysearch 2.4.0 正式发布**。本版本将向量搜索纳入内核:基于 Lucene 的原生 HNSW,关键词与语义向量可混合检索。控制台新增可视化 Mapping 编辑器,集群设置可同时查看临时、持久、默认三层配置。生命周期策略、可搜索快照、密钥库与插件管理同步更新,高并发下的字段使用统计和磁盘用量分析也更稳定。
{{% load-img "/img/blog/banner/easysearch-v2.png" "" %}}
主要更新如下:
## 功能特性 (Features)
### 原生 HNSW 向量搜索与混合检索
- 内置基于 Lucene 的 HNSW 向量索引。新建索引可直接使用 `dense_vector`、query-level `knn` 和顶层 `knn`,无需安装 k-NN 插件。
- 支持 1~4096 维 `float` 向量,以及 `cosine`、`dot_product`、`l2_norm`、`max_inner_product` 四种相似度算法。
- 支持通过 `m`、`ef_construction` 和 `num_candidates` 调整索引构建与查询效果;省略 `index_options` 时默认使用 `hnsw(m=16, ef_construction=100)`。
- 支持一个顶层关键词 `query` 与一个顶层 `knn` 并列执行,通过结果并集与加权评分实现关键词、语义向量的混合召回。
- 兼容 Elasticsearch 8.19.17 的 float HNSW mapping、Bulk、kNN 查询和 wire 行为,以及 Elasticsearch Java 8.19.17、Python 8.19.3 官方客户端,现有应用可直接对接。
更多用法及兼容边界请参阅[原生 HNSW 搜索文档](https://docs.infinilabs.com/easysearch/main/docs/features/vector-search/native-hnsw/)。
### 可视化 Mapping 编辑器
新增索引页提供可视化 Mapping 编辑器。字段按层级排列成树,可直接编辑类型和参数,无需手写 Mapping JSON。
{{% load-img "/img/blog/2026/easysearch-2-4-0-release/create-index.png" "" %}}
- 可以从索引模板或已有索引导入配置。创建索引时,也可以关联集群里已有的别名。
- 覆盖全部字段类型。支持多字段,也可为 `object` / `nested` 添加子字段,同类型字段可批量添加。
- 可视化编辑与 JSON 编辑可随时切换,内容保持同步。`dynamic_templates`、`_source`、`_meta` 等高级内容在切换后仍会保留。
操作步骤见[新增索引](https://docs.infinilabs.com/easysearch/main/docs/management/indices/create-index/)。
### 集群设置页
在「设置」中打开集群设置页,查看和修改 `_cluster/settings` 中的动态配置。页面按节点、索引、分片、断路器、生命周期分组,支持按名称或 key 搜索,也可按临时、持久、默认来源过滤。
{{% load-img "/img/blog/2026/easysearch-2-4-0-release/cluster-settings.png" "" %}}
- 每个设置有三层值:临时、持久、默认。优先级是临时 > 持久 > 默认。徽标标出当前生效的那一层。
- 布尔和枚举使用下拉框,数字使用数字输入,时间、大小等带单位的值直接填写,例如 `60s`、`40mb`。临时层与持久层可一次保存。支持清除单层,也可一键清空全部临时设置。
- 日志级别、分片分配属性、断路器等名称不固定的设置,可先添加实例,再填写取值。
{{% load-img "/img/blog/2026/easysearch-2-4-0-release/cluster-settings-layers.png" "" %}}
操作步骤见[集群设置](https://docs.infinilabs.com/easysearch/main/docs/management/settings/cluster-settings/)。
### 数据管理与分析体验
- 数据探索改用 PIT(Point in Time)分页导出,导出数量不再受 `max_result_window` 限制。
- 生命周期策略编辑器可配置的 action 更多,未填写的字段保持原有语义。
- 快照恢复支持直接恢复为可搜索快照,索引列表增加可搜索快照标识。
- 节点页面新增密钥库管理,插件列表支持从文件夹或 ZIP 包手动上传插件。这两项需先在右上角连接 Agent 后使用。
- 创建 API Token 或角色时,索引权限支持下拉选择和搜索。
- `rate` 聚合新增 `sum`、`value_count` 计算模式,并支持在包含单一日期源的 `composite` 聚合中计算速率。
- DevTools 现支持 SQL 关键词高亮、补全和多行语句解析,查询结果默认返回 CSV。
- 生命周期(ILM)策略管理: 对生命周期策略编辑 UI 进行了全面增强,新建与编辑策略现已支持完整的 action 配置,覆盖 Hot、Warm、Cold、Delete 四个阶段
## 改进优化 (Improvements)
- 重构 `_disk_usage` 同步分析链路,引入有界请求调度和独立线程池,降低并发磁盘用量分析对普通分析请求的影响。
- 重构 `_field_usage_stats` 的 shard 级字段访问采集链路,按每次查询会话对相同字段和访问类型去重,完善 stored fields、term vectors、can-match、refresh/reopen 及主副分片场景的统计覆盖。
- 优化字段使用统计在高并发查询和大字段 registry 场景下的会话提交与快照生成,减少处理开销和临时对象分配。
## 问题修复 (Bug Fixes)
- 统一重构 Model Provider、Rules 与 Audit Log 的受保护内部索引权限过滤机制,修复直连、通配符、混合索引及数据流后备索引等场景下过滤语义不一致的问题;无权限用户直接访问受保护资源时会被拒绝,在混合或通配符请求中则隐藏相关资源,同时保留远程索引表达式和 Audit Log 的角色授权语义。
- 修复 Remote Reindex 对远端 Elasticsearch REST 协议版本判断不准确的问题,恢复 Elasticsearch 6.8.x、7.x 和 8.x 场景下 scroll 与 clear-scroll 请求的正确格式。
- 修复删除关联多个索引的别名失败的问题。
- 修复授权弹窗打开后「授权提示」页签可能自动消失的问题。
- 修复未授权状态显示为不规范英文的问题,现按界面语言显示「未授权 / Unlicensed」。
- 修复创建用户、角色、管道、模板、远程集群、快照仓库、自动跟随模式、规则库时重名可能覆盖已有配置的问题,现在会提示名称已存在。
- 修复编辑管道时可修改名称导致旧管道残留的问题,编辑时名称改为不可修改。
- 修复删除管道确认弹窗文案误写为「模板」的问题。
- 修复列表页左侧聚合过滤侧边栏输入关键字后无法筛选的问题。
- 修复分片列表点击刷新不重新加载数据的问题。
- 修复热点线程页面选择不支持的 gpu/mem 类型后列表为空且无提示的问题,下拉现仅提供受支持的类型。
- 修复创建角色无法选择粗粒度 action group,以及集群权限与索引权限被强制必填的问题。
- 修复数据探索导出超过 10000 条文档失败的问题。
- 移除生命周期策略编辑器中错误的节点标签缺失实时提醒。
- 修复节点详情插件页显示集群级安装状态的问题:插件只装在部分节点时,未安装的节点也会显示「已安装」;现在按当前节点过滤。
- 修复删除生命周期策略时确认弹窗不显示策略名的问题。
- 修复删除快照确认弹窗误用「策略」且不显示快照名的问题。
- 修复创建生命周期策略时前端重名校验不生效的问题。
## 升级提示
- 原生 HNSW 的已索引 `dense_vector` 字段只能添加到由 2.4.0 或更高版本创建的索引,且所有数据节点均需升级到 2.4.0 或更高版本;旧索引需新建目标索引后通过 Reindex 迁移。
- 旧 k-NN 插件的 `knn_dense_float_vector`、`knn_sparse_bool_vector` 和 `knn_nearest_neighbors` 接口继续保留,但新旧字段与查询语法不能混用。
- Easysearch 2.4.0 使用未量化的 float HNSW,当前不支持 `int8_hnsw` 等量化向量类型。通过 Elasticsearch 8.19 官方客户端访问时,需在所有节点设置 `elasticsearch.api_compatibility: true` 和 `elasticsearch.api_compatibility_version: "8.19.17"`,并重启节点。
---
以上为本版本重点更新摘要,完整变更与技术细节请查看 Easysearch 产品 [Release Notes](https://docs.infinilabs.com/easysearch/main/docs/release-notes/easysearch/#240-2026-09-10) 或联系我们的技术支持团队
## 获取新版本
NFINI Easysearch v2.4.0 已正式发布,欢迎升级体验:
- 下载地址:
- 快速开始:
{{% load-img "/img/blog/banner/join-easysearch-community.png" "" %}}