我刚打酱油去了,不好意思
HNSW

HNSW

Easysearch 2.4.0 发布:原生 HNSW 与混合检索,管理体验全面升级

资讯动态INFINI Labs 小助手 发表了文章 • 0 个评论 • 47 次浏览 • 5 小时前 • 来自相关话题

release

INFINI Easysearch 2.4.0 正式发布。本版本将向量搜索纳入内核:基于 Lucene 的原生 HNSW,关键词与语义向量可混合检索。控制台新增可视化 Mapping 编辑器,集群设置可同时查看临时、持久、默认三层配置。生命周期策略、可搜索快照、密钥库与插件管理同步更新,高并发下的字段使用统计和磁盘用量分析也更稳定。

主要更新如下:

功能特性 (Features)

原生 HNSW 向量搜索与混合检索

  • 内置基于 Lucene 的 HNSW 向量索引。新建索引可直接使用 dense_vector、query-level knn 和顶层 knn,无需安装 k-NN 插件。
  • 支持 1~4096 维 float 向量,以及 cosinedot_productl2_normmax_inner_product 四种相似度算法。
  • 支持通过 mef_constructionnum_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 搜索文档

可视化 Mapping 编辑器

新增索引页提供可视化 Mapping 编辑器。字段按层级排列成树,可直接编辑类型和参数,无需手写 Mapping JSON。

  • 可以从索引模板或已有索引导入配置。创建索引时,也可以关联集群里已有的别名。
  • 覆盖全部字段类型。支持多字段,也可为 object / nested 添加子字段,同类型字段可批量添加。
  • 可视化编辑与 JSON 编辑可随时切换,内容保持同步。dynamic_templates_source_meta 等高级内容在切换后仍会保留。

操作步骤见新增索引

集群设置页

在「设置」中打开集群设置页,查看和修改 _cluster/settings 中的动态配置。页面按节点、索引、分片、断路器、生命周期分组,支持按名称或 key 搜索,也可按临时、持久、默认来源过滤。

  • 每个设置有三层值:临时、持久、默认。优先级是临时 > 持久 > 默认。徽标标出当前生效的那一层。
  • 布尔和枚举使用下拉框,数字使用数字输入,时间、大小等带单位的值直接填写,例如 60s40mb。临时层与持久层可一次保存。支持清除单层,也可一键清空全部临时设置。
  • 日志级别、分片分配属性、断路器等名称不固定的设置,可先添加实例,再填写取值。

操作步骤见集群设置

数据管理与分析体验

  • 数据探索改用 PIT(Point in Time)分页导出,导出数量不再受 max_result_window 限制。
  • 生命周期策略编辑器可配置的 action 更多,未填写的字段保持原有语义。
  • 快照恢复支持直接恢复为可搜索快照,索引列表增加可搜索快照标识。
  • 节点页面新增密钥库管理,插件列表支持从文件夹或 ZIP 包手动上传插件。这两项需先在右上角连接 Agent 后使用。
  • 创建 API Token 或角色时,索引权限支持下拉选择和搜索。
  • rate 聚合新增 sumvalue_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_vectorknn_sparse_bool_vectorknn_nearest_neighbors 接口继续保留,但新旧字段与查询语法不能混用。
  • Easysearch 2.4.0 使用未量化的 float HNSW,当前不支持 int8_hnsw 等量化向量类型。通过 Elasticsearch 8.19 官方客户端访问时,需在所有节点设置 elasticsearch.api_compatibility: trueelasticsearch.api_compatibility_version: "8.19.17",并重启节点。

以上为本版本重点更新摘要,完整变更与技术细节请查看 Easysearch 产品 Release Notes 或联系我们的技术支持团队

获取新版本

INFINI Easysearch v2.4.0 已正式发布,欢迎升级体验:

关于 Easysearch

INFINI Easysearch 是一款分布式搜索引擎,支持结构化和非结构化的数据检索、全文检索、向量检索、空间地理位置信息检索、组合查询、多语种支持、语义分析和聚合分析等多种功能。

Easysearch 基于 Lucene 构建,紧跟 Lucene 最新版本持续迭代更新,采用商用友好协议,企业可自由部署、二次开发和商业化,无协议合规风险。

Easysearch 致力于为企业提供轻量、安全、自主可控的搜索平台,不断完善产品能力,满足更多企业级需求。

官网:https://easysearch.cn

Easysearch 2.4.0 发布:原生 HNSW 与混合检索,管理体验全面升级

资讯动态INFINI Labs 小助手 发表了文章 • 0 个评论 • 47 次浏览 • 5 小时前 • 来自相关话题

release

INFINI Easysearch 2.4.0 正式发布。本版本将向量搜索纳入内核:基于 Lucene 的原生 HNSW,关键词与语义向量可混合检索。控制台新增可视化 Mapping 编辑器,集群设置可同时查看临时、持久、默认三层配置。生命周期策略、可搜索快照、密钥库与插件管理同步更新,高并发下的字段使用统计和磁盘用量分析也更稳定。

主要更新如下:

功能特性 (Features)

原生 HNSW 向量搜索与混合检索

  • 内置基于 Lucene 的 HNSW 向量索引。新建索引可直接使用 dense_vector、query-level knn 和顶层 knn,无需安装 k-NN 插件。
  • 支持 1~4096 维 float 向量,以及 cosinedot_productl2_normmax_inner_product 四种相似度算法。
  • 支持通过 mef_constructionnum_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 搜索文档

可视化 Mapping 编辑器

新增索引页提供可视化 Mapping 编辑器。字段按层级排列成树,可直接编辑类型和参数,无需手写 Mapping JSON。

  • 可以从索引模板或已有索引导入配置。创建索引时,也可以关联集群里已有的别名。
  • 覆盖全部字段类型。支持多字段,也可为 object / nested 添加子字段,同类型字段可批量添加。
  • 可视化编辑与 JSON 编辑可随时切换,内容保持同步。dynamic_templates_source_meta 等高级内容在切换后仍会保留。

操作步骤见新增索引

集群设置页

在「设置」中打开集群设置页,查看和修改 _cluster/settings 中的动态配置。页面按节点、索引、分片、断路器、生命周期分组,支持按名称或 key 搜索,也可按临时、持久、默认来源过滤。

  • 每个设置有三层值:临时、持久、默认。优先级是临时 > 持久 > 默认。徽标标出当前生效的那一层。
  • 布尔和枚举使用下拉框,数字使用数字输入,时间、大小等带单位的值直接填写,例如 60s40mb。临时层与持久层可一次保存。支持清除单层,也可一键清空全部临时设置。
  • 日志级别、分片分配属性、断路器等名称不固定的设置,可先添加实例,再填写取值。

操作步骤见集群设置

数据管理与分析体验

  • 数据探索改用 PIT(Point in Time)分页导出,导出数量不再受 max_result_window 限制。
  • 生命周期策略编辑器可配置的 action 更多,未填写的字段保持原有语义。
  • 快照恢复支持直接恢复为可搜索快照,索引列表增加可搜索快照标识。
  • 节点页面新增密钥库管理,插件列表支持从文件夹或 ZIP 包手动上传插件。这两项需先在右上角连接 Agent 后使用。
  • 创建 API Token 或角色时,索引权限支持下拉选择和搜索。
  • rate 聚合新增 sumvalue_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_vectorknn_sparse_bool_vectorknn_nearest_neighbors 接口继续保留,但新旧字段与查询语法不能混用。
  • Easysearch 2.4.0 使用未量化的 float HNSW,当前不支持 int8_hnsw 等量化向量类型。通过 Elasticsearch 8.19 官方客户端访问时,需在所有节点设置 elasticsearch.api_compatibility: trueelasticsearch.api_compatibility_version: "8.19.17",并重启节点。

以上为本版本重点更新摘要,完整变更与技术细节请查看 Easysearch 产品 Release Notes 或联系我们的技术支持团队

获取新版本

INFINI Easysearch v2.4.0 已正式发布,欢迎升级体验:

关于 Easysearch

INFINI Easysearch 是一款分布式搜索引擎,支持结构化和非结构化的数据检索、全文检索、向量检索、空间地理位置信息检索、组合查询、多语种支持、语义分析和聚合分析等多种功能。

Easysearch 基于 Lucene 构建,紧跟 Lucene 最新版本持续迭代更新,采用商用友好协议,企业可自由部署、二次开发和商业化,无协议合规风险。

Easysearch 致力于为企业提供轻量、安全、自主可控的搜索平台,不断完善产品能力,满足更多企业级需求。

官网:https://easysearch.cn