Easysearch

版本发布日志 #

这里是 INFINI Easysearch 历史版本发布的相关说明。

Latest (In development) #

Breaking changes #

Features #

Bug fix #

Improvements #

1.12.1 (2025-04-11) #

Breaking changes #

Features #

Bug fix #

  • 修复 ollama_url 不能动态更新的错误
  • 修复 ollama api 未正确兼容单个文本请求
  • 索引生命周期管理 delete action 按文档最新时间删除时修正为按降序排序

Improvements #

1.12.0 (2025-03-28) #

Breaking changes #

Features #

  • Rollup 新增 write_optimization 配置项,启用后采用自动生成文档 ID 的策略,大幅提升写入速度
  • Rollup 现在支持针对 job 级别配置 rollover 的 max docs

Bug fix #

  • Rollup 修复带有内嵌的 pipeline 聚合时不能和原始索引聚合正常合并的问题

Improvements #

  • 优化了 rollup 索引字段名长度,减小 rollup job 运行时的内存占用

1.11.1 (2025-03-14) #

Breaking changes #

Features #

  • 新增 AI 模块,集成 Ollama embedding API,支持文本向量化

Bug fix #

  • 修复 DateRange 聚合在 Rollup 查询中无法正确合并的问题

Improvements #

针对用户使用体验进行了多项改进,包括:

  • 弃用 KNN 模块中的 index.knn 配置项,(此配置项和其他功能经常发生冲突) 简化配置逻辑,该配置项将在后续版本中移除
  • 将 KNN 搜索功能从插件形式集成为内置功能,无需额外安装即可使用
  • 将跨集群复制(CCR)功能从插件形式集成为内置功能,开箱即用
  • 优化索引配置更新验证:增加非动态配置项的值比对,避免误报

1.11.0 (2025-02-28) #

Features #

  • 新增 wildcard 数据类型
  • 新增 Point in time 搜索 API
  • 新增异步搜索 API
  • 数值字段添加 doc-values 搜索支持
  • 日期字段添加 doc-values 搜索支持
  • 新增 IK 分词器自定义词典使用文档

Bug fix #

Improvements #

  • 优化 Lucene flush 的 segment 大小,减少 I/O 开销

1.10.2 (2025-02-17) #

Features #

  • lucene 版本更新

    • lucene 版本更新到 8.11.4,是 lucene8.x 系列的最后一个版本
    • jna 更新到 5.12.1
  • IK 分词器: 增强词典配置的灵活性和可扩展性

    • 支持字段级别的词典配置,用户可通过自定义 tokenizer 为不同索引、不同字段配置专用词典
    • 优化词典管理机制
    • 支持自定义词典与 IK 默认词典合并使用
    • 词库数据存储在可配置的索引中,支持实时更新
    • 可使用内置词库索引或自定义词库索引(需保持相同结构)
  • 索引生命周期管理

    • delete action 支持同时基于索引创建时间和文档最新时间戳来执行删除操作

Bug fix #

  • Rollup
    • 修复了平均值(avg)聚合计算错误

Improvements #

  • 优化 rollup 索引的创建流程

1.10.1 (2025-01-24) #

Features #

  • Rollup 增加支持聚合的种类
    • 增加支持 Filter aggregation,某些场景可以用来替代 query
    • 增加针对个别字段自定义 special_metrics 指标的配置项
    • 增加支持 Bucket sort aggregation
  • Rollup 查询 API 提供了 debug 参数,有助于调试

Bug fix #

  • 修复数据节点和 master 节点角色分离时,Security 索引创建失败问题

Improvements #

  • Rollup 查询 增加 response 标识是否有 rollup 数据
  • Rollup response total hits 不再为 0
  • Rollup job 支持 更新操作,通过更新索引文档实现
  • rollup.hours_before 配置项只影响查询时间范围,不影响写入

1.10.0 (2025-01-11) #

Features #

  • Rollup 功能增强:新增并发限制、任务失败自动重启功能,支持批量启动、停止 Job, 并支持 date_range 聚合。
  • 字段类型功能优化:新增 flattened_text 和 match_only_text 字段类型,支持更多查询场景;

1.9.0 (2024-10-17) #

Breaking changes #

Features #

  • 发布 rollup 功能

  • 支持自动对 rollup 索引进行滚动,无需外部触发

  • 支持 avg sum max min value_count percentiles 指标类型的聚合

  • 支持 terms 聚合

  • 支持对指标聚合进行 Pipeline 聚合

  • 支持聚合前先对数据进行过滤

  • 进行聚合查询时支持直接搜索原始索引,不用更改搜索代码

  • 增加适配 logstash8.x 的请求 header

  • _cat/templates 增加 lifecycle 和 rollover 列的展示

Bug fix #

  • 修复 rest-api template 测试错误

1.8.3 (2024-08-13) #

Bug fix #

  • 修复特定场景下 lucene 栈溢出问题
  • 修复特定场景下字节处理空指针问题

Improvements #

  • 更新依赖库至安全版本
  • 优化开启 source_reuse 后内存使用性能
  • 增加初始化密码环境变量,可手工设置 EASYSEARCH_INITIAL_ADMIN_PASSWORD 环境变量。

1.8.2 (2024-06-06) #

Breaking changes #

Features #

Bug fix #

  • 修复 source_reuse 与 索引 mapping 的 enable: false 冲突

Improvements #

  • 升级部分依赖包版本,commons-collections to 3.2.2, snakeyaml to 2.0
  • 优化 CCR 同步性能及调整 CCR 全局配置参数
  • 优化插件配置命名,去除"plugins."
  • 优化配置文件目录获取命名

1.8.0 (2024-04-30) #

Breaking changes #

Features #

  • 增加写入限流功能,可针对节点级(数据节点和协调节点)、分片级

Bug fix #

  • 修复查询数据结果为空时,聚合出错问题
  • 修复 Bundle 包在 MacOS 环境下 JDK 路径出错问题

Improvements #

1.7.1 (2024-03-01) #

Breaking changes #

Features #

Bug fix #

  • 修复 _meta 不为空且 启用 source_reuse 时的映射解析错误
  • 修复 source_reuse 下对多值还原不正确的问题
  • 修复 source_reuse 和 alias 类型字段的冲突

Improvements #

  • 改进跨集群复制的数据加载,增加对 source_reuse 索引的支持
  • 内存断路器在触发 GC 时增加 full GC 回退
  • 针对 String 类型的 TermsAgg 增加分片级别的内存断路检测

1.7.0 (2023-12-15) #

Breaking changes #

Features #

  • 发布快照搜索功能 Beta 版本,此功能旨在提高对已备份数据的使用效率。让用户利用对象存储(如 AWS S3、MinIO、Microsoft Azure Storage、Google Cloud Storage 等)技术来大幅降低存储成本。

Bug fix #

  • 修复单个节点场景下,从快照恢复多个 shard 的索引时,恢复不完整的问题
  • 修复无法删除索引已关联的 ILM 策略问题

Improvements #

  • 初始化脚本优化,新增重复执行判断

1.6.2 (2023-12-01) #

Breaking changes #

Features #

Bug fix #

  • 修复跨集群复制(CCR)不能对自动滚动生成的索引进行同步的问题

Improvements #

  • 优化初始化脚本,增加-s/-slient 自动安装参数。
  • 新增含 jdk/plugins 的 bundle 安装包

1.6.1 (2023-10-19) #

Breaking changes #

Features #

  • 增加 analysis-icu 插件

Bug fix #

  • 修复 JDK 17 及更高版本运行告警及异常

Improvements #

  • 安装脚本优化,避免脚本使用不当出现错误
  • source_reuse 增加对 float,double,geo_point,half_float,ip 类型字段的压缩
  • 优化启用 source_reuse 时的写入速度,压缩的字段越多,写入速度越快

1.6.0 (2023-09-22) #

Breaking changes #

Features #

  • 增加 _field_usage_stats api,统计索引每个字段的访问次数
  • 新增 _disk_usage api,可以分析指定索引每个字段的磁盘占用大小
  • 增加 flattened 类型,将 json 对象作为字符串处理,可以减少嵌套 json 型的文档的大小

Bug fix #

Improvements #

  • source_reuse 增加对 _source 中数字类型的值进行复用压缩,可进一步降低 _source 磁盘占用
  • 改进 source_reuse 筛选字段的逻辑

1.5.0 (2023-09-08) #

Breaking changes #

Features #

  • 增加 sql 插件,支持使用 REST 接口和 JDBC 进行 SQL 查询
  • 支持 sql 常用函数、包括数学函数、三角函数、日期函数、字符串函数、聚合函数等
  • sql 语句可以嵌入全文检索
  • 增加 jdbc 驱动,可以通过用户密码或证书连接到集群

Bug fix #

  • 修复 knn 插件的配置项导致非 knn 索引的 setting 不能正常解析的 bug

Improvements #

1.4.0 (2023-07-21) #

Breaking changes #

Features #

  • 索引生命周期管理增加 wait_for_snapshot 操作,在删除索引之前,等待执行指定的快照管理策略,这样可以确保已删除索引的快照可用
  • 增加 analysis-hanlp 分词插件
  • 增加 jieba 分词插件

Bug fix #

  • 修复启用 index.source_reuse 时,对复杂多层 json 的 source 字段 解析不正确的 bug

Improvements #

  • 更新索引生命周期管理 api 文档,增加策略应用和更新说明,增加 wait_for_snapshot 说明
  • 执行 initialize.sh 命令时增加初始化确认提示,是否将 admin 密码记录日志。

1.3.0 (2023-06-30) #

Breaking changes #

Features #

  • 增加 kNN 检索插件:
    • 新增 knn_nearest_neighbors query api
    • Mapping 新增 knn_dense_float_vector 和 knn_sparse_bool_vector 数据类型
    • 支持近似 kNN 搜索和精确 kNN 搜索

Bug fix #

Improvements #

  • admin 用户默认由 initialize.sh 脚本生成随机密码,增强了安全性
  • 增加适配 Windows 平台
  • 增加 Docker 镜像

1.2.0 (2023-06-08) #

Breaking changes #

Features #

  • 正式发布快照生命周期管理 (SLM) API, 支持定时备份和删除快照,以及保留快照的个数
  • 增加 跨集群复制 (Cross-cluster replication) 功能:
    • 支持手动或自动复制索引
    • 支持暂停和恢复复制索引
    • 支持取消指定索引的跨集群复制

Bug fix #

  • security 模块修复缺少某些角色验证属性的问题

Improvements #

  • 兼容 ES6.0 版本的索引

1.1.1 (2023-05-25) #

Breaking changes #

Features #

Bug fix #

  • 修复模板别名在某些场景不生效的 bug
  • 防止 BigArray 在某些场景发生内存泄漏
  • 修复 SourceValueFetcher 可能遗漏字段的 bug

Improvements #

  • easysearch.yml 增加 elasticsearch.api_compatibility 配置项, 兼容 logstash-oss, filebeat-oss, apm-server-oss 等 Elasticsearch 的客户端

1.1.0 (2023-05-12) #

Breaking changes #

  • Lucene 版本升级到 8.11.2

Features #

  • 增加 ZSTD codec,引入 ZSTD 压缩算法,对存储字段,doc_values,词典进行压缩。
  • 增加 index.source_reuse 索引级别配置,对 _source 进一步压缩。
  • 提供索引生命周期管理 ILM 模块的功能,绝大部分 API 兼容 Elasticsearch

Bug fix #

Improvements #

  • 减少冗余日志输出。
  • 减少 modules 模块整体大小

1.0.0 (2023-04-06) #

Features #

  • 兼容 Elasticsearch7.x
  • 支持加密传输,权限控制等 security 相关功能
  • 相比 Elasticsearch 更加轻量级

Bug fix #

Improvements #