【搜索客社区日报】第2162期 (2025-12-15)
https://elasticstack.blog.csdn ... 66556
2、使用 Elastic Observability 排查你的 Agents 和 Amazon Bedrock AgentCore
https://elasticstack.blog.csdn ... 81416
3、如何通过个性化、分群感知排序来提升电商搜索相关性
https://elasticstack.blog.csdn ... 98807
4、Streams 处理:告别 Grok 的困扰 - 在 Streams 中解析你的日志
https://elasticstack.blog.csdn ... 38851
5、Elasticsearch:使用判断列表评估搜索查询相关性
https://elasticstack.blog.csdn ... 36745
编辑:Muse
更多资讯:http://news.searchkit.cn
https://elasticstack.blog.csdn ... 66556
2、使用 Elastic Observability 排查你的 Agents 和 Amazon Bedrock AgentCore
https://elasticstack.blog.csdn ... 81416
3、如何通过个性化、分群感知排序来提升电商搜索相关性
https://elasticstack.blog.csdn ... 98807
4、Streams 处理:告别 Grok 的困扰 - 在 Streams 中解析你的日志
https://elasticstack.blog.csdn ... 38851
5、Elasticsearch:使用判断列表评估搜索查询相关性
https://elasticstack.blog.csdn ... 36745
编辑:Muse
更多资讯:http://news.searchkit.cn 收起阅读 »
APM(一): Skywalking 与 Easyearch 集成
概述
SkyWalking 是一个开源的可观测性平台,用于收集、分析、聚合和可视化服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法,即使在云之间也能保持对分布式系统的清晰视图。它是一个现代的 APM,专门为云原生、基于容器的分布式系统设计。
SkyWalking 涵盖了云原生世界中所有的可观测性需求,包括:
- Tracing: SkyWalking 原生数据格式,以及 v1 和 v2 格式的 Zipkin 跟踪都得到支持。
- Metrics: SkyWalking 支持成熟的指标格式,包括原生计量格式、OTEL 指标格式和 Telegraf 格式。SkyWalking 与服务网格平台(通常为 Istio 和 Envoy)集成,将可观测性构建到数据平面或控制平面。此外,SkyWalking 原生代理可以在指标模式下运行,从而显著提升性能。
- Logging: 包括从磁盘收集或通过网络收集的日志。原生代理可以自动将追踪上下文与日志绑定,或使用 SkyWalking 通过文本内容绑定追踪和日志。
- Profiling: Profiling 是一种强大的工具,帮助开发者从代码行角度理解应用程序的性能。SkyWalking 提供了内置于原生语言代理和独立的 eBPF 代理的剖析功能。
- Event: 事件是一种特殊类型的数据,用于记录系统中的重要时刻,例如版本升级、配置变更等。将事件与指标关联有助于解释指标中的峰值或谷值,将事件与追踪和日志关联有助于排查根本原因。
更详细的信息请大家移步 Skywalking 官方网站。
测试环境
本篇使用的 Skywalking 版本是 10.2.0 ,需要 Java 11/17/21。
Easyearch 使用的版本是 1.14.1,需要开启 Elastic 兼容模式,具体操作参考文档 。
生成 Java 密钥库文件
使用如下命令将 Easysearch 的 CA 证书(ca.crt)导入到一个新的 Java 密钥库文件(es_keystore.jks)中,以便 SkyWalking 能够信任由该 CA 颁发的所有证书。生产环境中使用请替换命令中的密码。
keytool -import -v -trustcacerts -file ca.crt -keystore es_keystore.jks -keypass changeit -storepass changeit
修改配置文件
SkyWalking 后端服务配置文件为 config/application.yml,这也是与 Easyearch 集成时需要修改的文件。Skywalking 与 Easyearch 集成有两种通信方式:http 或 https。http 方式非常简单,留给大家自行探索。本篇采用 https 方式,这也是 Easysearch 初始化后默认对外服务的协议。
拷贝上面生成的密钥库文件到 Skywalking 的 home 目录下,修改 application.yml 的 storage 部分
storage:
selector: ${SW_STORAGE:elasticsearch}
banyandb:
# Since 10.2.0, the banyandb configuration is separated to an independent configuration file: `bydb.yaml`.
elasticsearch:
namespace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:es1.infini.cloud:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"https"}
connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000}
socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}
responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000}
numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0}
user: ${SW_ES_USER:"admin"}
password: ${SW_ES_PASSWORD:"infiniyyds@2025"}
trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:"changeit"}
注意 clusterNodes 配置的是域名,需要在 Skywalking 的主机上用 /etc/hosts 解析成具体的地址,如果有多个 Easysearch 节点,可以用逗号分隔。
启动
确保 Easysearch 启动完毕后,再启动 Skywalking。正常启动完成后,可访问 Skywalking 服务页面,默认端口 8080。

正常连接后,Skywalking 会在 Easysearch 中创建很多 sw 开头的索引。

OK,服务集成就到此完毕,后续我们将探索更多的 APM 内容。
关于 Easysearch

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
官网文档:https://docs.infinilabs.com/easysearch
作者:杨帆,极限科技(INFINI Labs)高级解决方案架构师、《老杨玩搜索》栏目 B 站 UP 主,拥有十余年金融行业服务工作经验,熟悉 Linux、数据库、网络等领域。目前主要从事 Easysearch、Elasticsearch 等搜索引擎的技术支持工作,服务国内私有化部署的客户。
概述
SkyWalking 是一个开源的可观测性平台,用于收集、分析、聚合和可视化服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法,即使在云之间也能保持对分布式系统的清晰视图。它是一个现代的 APM,专门为云原生、基于容器的分布式系统设计。
SkyWalking 涵盖了云原生世界中所有的可观测性需求,包括:
- Tracing: SkyWalking 原生数据格式,以及 v1 和 v2 格式的 Zipkin 跟踪都得到支持。
- Metrics: SkyWalking 支持成熟的指标格式,包括原生计量格式、OTEL 指标格式和 Telegraf 格式。SkyWalking 与服务网格平台(通常为 Istio 和 Envoy)集成,将可观测性构建到数据平面或控制平面。此外,SkyWalking 原生代理可以在指标模式下运行,从而显著提升性能。
- Logging: 包括从磁盘收集或通过网络收集的日志。原生代理可以自动将追踪上下文与日志绑定,或使用 SkyWalking 通过文本内容绑定追踪和日志。
- Profiling: Profiling 是一种强大的工具,帮助开发者从代码行角度理解应用程序的性能。SkyWalking 提供了内置于原生语言代理和独立的 eBPF 代理的剖析功能。
- Event: 事件是一种特殊类型的数据,用于记录系统中的重要时刻,例如版本升级、配置变更等。将事件与指标关联有助于解释指标中的峰值或谷值,将事件与追踪和日志关联有助于排查根本原因。
更详细的信息请大家移步 Skywalking 官方网站。
测试环境
本篇使用的 Skywalking 版本是 10.2.0 ,需要 Java 11/17/21。
Easyearch 使用的版本是 1.14.1,需要开启 Elastic 兼容模式,具体操作参考文档 。
生成 Java 密钥库文件
使用如下命令将 Easysearch 的 CA 证书(ca.crt)导入到一个新的 Java 密钥库文件(es_keystore.jks)中,以便 SkyWalking 能够信任由该 CA 颁发的所有证书。生产环境中使用请替换命令中的密码。
keytool -import -v -trustcacerts -file ca.crt -keystore es_keystore.jks -keypass changeit -storepass changeit
修改配置文件
SkyWalking 后端服务配置文件为 config/application.yml,这也是与 Easyearch 集成时需要修改的文件。Skywalking 与 Easyearch 集成有两种通信方式:http 或 https。http 方式非常简单,留给大家自行探索。本篇采用 https 方式,这也是 Easysearch 初始化后默认对外服务的协议。
拷贝上面生成的密钥库文件到 Skywalking 的 home 目录下,修改 application.yml 的 storage 部分
storage:
selector: ${SW_STORAGE:elasticsearch}
banyandb:
# Since 10.2.0, the banyandb configuration is separated to an independent configuration file: `bydb.yaml`.
elasticsearch:
namespace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:es1.infini.cloud:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"https"}
connectTimeout: ${SW_STORAGE_ES_CONNECT_TIMEOUT:3000}
socketTimeout: ${SW_STORAGE_ES_SOCKET_TIMEOUT:30000}
responseTimeout: ${SW_STORAGE_ES_RESPONSE_TIMEOUT:15000}
numHttpClientThread: ${SW_STORAGE_ES_NUM_HTTP_CLIENT_THREAD:0}
user: ${SW_ES_USER:"admin"}
password: ${SW_ES_PASSWORD:"infiniyyds@2025"}
trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:"changeit"}
注意 clusterNodes 配置的是域名,需要在 Skywalking 的主机上用 /etc/hosts 解析成具体的地址,如果有多个 Easysearch 节点,可以用逗号分隔。
启动
确保 Easysearch 启动完毕后,再启动 Skywalking。正常启动完成后,可访问 Skywalking 服务页面,默认端口 8080。

正常连接后,Skywalking 会在 Easysearch 中创建很多 sw 开头的索引。

OK,服务集成就到此完毕,后续我们将探索更多的 APM 内容。
关于 Easysearch

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
官网文档:https://docs.infinilabs.com/easysearch
收起阅读 »作者:杨帆,极限科技(INFINI Labs)高级解决方案架构师、《老杨玩搜索》栏目 B 站 UP 主,拥有十余年金融行业服务工作经验,熟悉 Linux、数据库、网络等领域。目前主要从事 Easysearch、Elasticsearch 等搜索引擎的技术支持工作,服务国内私有化部署的客户。
【搜索客社区日报】第2161期 (2025-12-09)
https://netlas.medium.com/i-an ... 3b09f
2. 拿DS、ollama和ES手搓一个本地RAG吧(需要梯子)
https://somesh-rokz.medium.com ... fa1be
3. 规避掉ES的query错误,我们做对了什么(需要梯子)
https://medium.com/%40stephane ... 550b8
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
https://netlas.medium.com/i-an ... 3b09f
2. 拿DS、ollama和ES手搓一个本地RAG吧(需要梯子)
https://somesh-rokz.medium.com ... fa1be
3. 规避掉ES的query错误,我们做对了什么(需要梯子)
https://medium.com/%40stephane ... 550b8
编辑:斯蒂文
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2160期 (2025-12-08)
https://elasticstack.blog.csdn ... 29259
2、先分块再向量化已经过时!先embedding再chunking才是王道
https://mp.weixin.qq.com/s/-CKRG3GmvoDvpN4Mu3KNjQ
3、EDB EPAS通过postgresql连接器同步数据到Elasticsearch
https://mp.weixin.qq.com/s/828gKsVR3nHFsJAv-45m9g
4、从硅谷杀出来一个彻底开源的AI记忆系统,是真的优雅!
https://mp.weixin.qq.com/s/gwKIX2sWxl1hSg_UFmkljg
5、AI出码率70%+的背后:高德团队如何实现AI研发效率的量化与优化
https://mp.weixin.qq.com/s/VXfNZM-jns-VrgLvtQj1Tg
编辑:Muse
更多资讯:http://news.searchkit.cn
https://elasticstack.blog.csdn ... 29259
2、先分块再向量化已经过时!先embedding再chunking才是王道
https://mp.weixin.qq.com/s/-CKRG3GmvoDvpN4Mu3KNjQ
3、EDB EPAS通过postgresql连接器同步数据到Elasticsearch
https://mp.weixin.qq.com/s/828gKsVR3nHFsJAv-45m9g
4、从硅谷杀出来一个彻底开源的AI记忆系统,是真的优雅!
https://mp.weixin.qq.com/s/gwKIX2sWxl1hSg_UFmkljg
5、AI出码率70%+的背后:高德团队如何实现AI研发效率的量化与优化
https://mp.weixin.qq.com/s/VXfNZM-jns-VrgLvtQj1Tg
编辑:Muse
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2159期 (2025-12-05)
https://infinilabs.cn/blog/202 ... ents/
2、60 亿+ 条 Elasticsearch 数据泄漏事件引起的反思
https://mp.weixin.qq.com/s/qWrF7UiY7PulGBz4v9zcDg
3、Easysearch 跨集群复制(CCR)实战全攻略之 1——本地两集群间复制
https://mp.weixin.qq.com/s/wxB0fH7GHZGspKB9Rp7gtg
4、Easysearch 跨集群复制 CCR 完全实战指南之2 —— 自动跟随神器介绍
https://mp.weixin.qq.com/s/BzwUFL33Rs9qM1a50BfEhQ
编辑:Fred
更多资讯:http://news.searchkit.cn
https://infinilabs.cn/blog/202 ... ents/
2、60 亿+ 条 Elasticsearch 数据泄漏事件引起的反思
https://mp.weixin.qq.com/s/qWrF7UiY7PulGBz4v9zcDg
3、Easysearch 跨集群复制(CCR)实战全攻略之 1——本地两集群间复制
https://mp.weixin.qq.com/s/wxB0fH7GHZGspKB9Rp7gtg
4、Easysearch 跨集群复制 CCR 完全实战指南之2 —— 自动跟随神器介绍
https://mp.weixin.qq.com/s/BzwUFL33Rs9qM1a50BfEhQ
编辑:Fred
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2158期 (2025-12-04)
https://mp.weixin.qq.com/s/tXA ... e%3D1
2.告别 N-gram 调参:解密vLLM里的SuffixDecoding功能
https://mp.weixin.qq.com/s/92cY1er-sbRD38OtRbfwVg
3.Agent RFT 深度解析:如何让 AI 智能体自我进化
https://mp.weixin.qq.com/s/9ylgBXS28l-HO3soY8ytMA
编辑:Se7en
更多资讯:http://news.searchkit.cn
https://mp.weixin.qq.com/s/tXA ... e%3D1
2.告别 N-gram 调参:解密vLLM里的SuffixDecoding功能
https://mp.weixin.qq.com/s/92cY1er-sbRD38OtRbfwVg
3.Agent RFT 深度解析:如何让 AI 智能体自我进化
https://mp.weixin.qq.com/s/9ylgBXS28l-HO3soY8ytMA
编辑:Se7en
更多资讯:http://news.searchkit.cn 收起阅读 »
Easysearch 2.0.0 性能测试
概述
Easysearch 2.0.0 正式版带来了显著的性能提升和优化改进。通过与上一个稳定版本 1.15.6 的全面对比测试,我们使用 esrally 基准测试工具在 append-no-conflicts 场景下进行了深入的性能评估。测试结果表明,2.0.0 版本在索引性能、查询延迟、内存管理等核心指标上都实现了突破性改进。
核心性能提升
1. 索引性能更加稳定
写入效率提升 12.81%
Easysearch 2.0.0 索引性能表现更加稳定:
- 累计索引 CPU 时间(所有主分片):从 225.1 分钟缩短至 196.3 分钟,减少 28.8 分钟(-12.81%)
- 索引吞吐量:
- 平均吞吐量从 180,868 docs/s 提升至 190,712 docs/s(+5.44%)
- 最大吞吐量从 198,184 docs/s 提升至 220,460 docs/s(+11.24%)
- 最小吞吐量从 164,263 docs/s 提升至 178,961 docs/s(+8.95%)
累计索引 CPU 时间的减少,表明 2.0.0 版本在索引操作上更加高效,CPU 利用率更优。这意味着在相同硬件条件下,Easysearch 2.0.0 能够更快地完成数据摄入任务,对于需要处理大规模数据写入的场景具有重要意义。
Indexing Throughput (docs/s) - Higher is Better
2. Refresh 和 Flush 耗时缩短
Refresh 和 Flush 性能大幅改善
在 Elasticsearch/Easysearch 中,Refresh 和 Flush 操作对写入性能有直接影响。2.0.0 版本在这两个关键操作上实现了重大优化:
Refresh 性能提升 54.46%
- 累计刷新时间:从 9.14 分钟降至 4.16 分钟
- 中位刷新时间:减少 61.86%(从 0.133 分钟降至 0.051 分钟)
- 最大刷新时间:减少 65.62%(从 1.12 分钟降至 0.39 分钟)
Flush 性能提升 40%
- 累计刷盘时间:从 12.57 分钟降至 7.54 分钟
- 中位刷盘时间:减少 57.57%
- 最大刷盘时间:减少 31.93%
Cumulative Refresh Time (min) - Lower is Better
Cumulative Flush Time (min) - Lower is Better
这些优化使得 Easysearch 2.0.0 能够更高效地将数据持久化到磁盘,同时减少对写入操作的阻塞。
3. 垃圾回收(GC)性能优化
GC 效率显著提升
- Young GC 次数:从 525 次降至 426 次,减少 18.86%
- Young GC 时间:从 16.547 秒降至 15.985 秒,减少 3.40%
- Old GC:两个版本均无 Old GC 发生,内存管理健康
更少的 GC 次数意味着:
- 应用程序 STW(Stop-The-World)暂停更少
- 更稳定的查询响应时间
- 更好的系统吞吐量
查询性能提升
1. 基础查询延迟降低
多类型查询性能全面提升
| 查询类型 | 延迟指标 | 改进幅度 |
|---|---|---|
| Default 查询 | 50 分位延迟 | -11.40% (19.97ms → 17.69ms) |
| 99 分位延迟 | -15.23% (25.66ms → 21.75ms) | |
| Term 查询 | 50 分位延迟 | -19.88% (4049ms → 3244ms) |
| 90 分位延迟 | -18.73% (4137ms → 3362ms) | |
| Range 查询 | 50 分位延迟 | -31.71% (42.19ms → 28.81ms) |
| 100 分位延迟 | -64.68% (111.42ms → 39.35ms) |
Query Latency Improvements (ms) - Lower is Better
2. 排序查询性能飞跃
时间戳排序查询优化高达 97%
Easysearch 2.0.0 在排序查询场景下实现了令人瞩目的性能突破:
降序排序(desc_sort_timestamp)
- 50 分位延迟:从 516.07ms 降至 98.89ms(-80.84%)
- 90 分位延迟:从 544.84ms 降至 123.59ms(-77.32%)
- 99 分位延迟:从 603.14ms 降至 139.93ms(-76.80%)
升序排序 + After 分页(asc_sort_with_after_timestamp)
- 50 分位延迟:从 1272.58ms 降至 33.56ms(-97.36%)
- 90 分位延迟:从 1386.92ms 降至 37.25ms(-97.31%)
- 99 分位延迟:从 1474.98ms 降至 38.11ms(-97.42%)
Sort Query Latency (ms) - Lower is Better
Force Merge 后的排序查询
在强制合并为单段后,排序查询性能更加出色:
降序排序(force-merge-1-seg)
- 50 分位延迟:从 131,617ms 降至 115.01ms(-99.91%)
- 这一改进相当于从 2 分钟以上降至 0.1 秒!
升序 + After 分页(force-merge-1-seg)
- 50 分位延迟:从 1387.01ms 降至 132.42ms(-90.45%)
- 90 分位延迟:从 1509.03ms 降至 159.05ms(-89.46%)
3. 聚合查询性能提升
hourly_agg 聚合查询优化
- 50 分位延迟:从 4192.57ms 降至 3866.07ms(-7.79%)
- 90 分位延迟:从 4303.51ms 降至 4053.80ms(-5.80%)
- 99 分位延迟:从 4475.32ms 降至 4269.91ms(-4.59%)
4. Scroll 查询性能改进
大数据量遍历场景优化
- 50 分位延迟:从 6511.65ms 降至 4623.87ms(-28.99%)
- 90 分位延迟:从 6881.70ms 降至 5972.79ms(-13.21%)
- 平均吞吐量:从 24.192 pages/s 提升至 24.485 pages/s(+1.21%)
Scroll Query Latency (ms) - Lower is Better
5. 高百分位延迟大幅改善
极端场景下的稳定性提升
在衡量系统稳定性的高百分位延迟指标上,2.0.0 版本表现卓越:
| 场景 | 99.9 分位延迟改进 | 99.99 分位延迟改进 | 100 分位延迟改进 |
|---|---|---|---|
| index-append | -43.40% | -65.35% | -70.91% |
| (3364ms → 1904ms) | (9618ms → 3333ms) | (13427ms → 3906ms) |
这意味着即使在最坏的情况下,2.0.0 版本也能提供更加稳定和可预测的性能表现。
范围查询性能提升
200s-in-range 和 400s-in-range 查询优化
-
200s-in-range:
- 50 分位延迟降低 15.60%
- 吞吐量提升 1.20%
- 400s-in-range:
- 50 分位延迟降低 8.44%
- 吞吐量提升 0.23%
存储优化
磁盘空间使用更高效
- 存储大小:从 19.51 GB 降至 19.14 GB(-1.93%)
- 段数量:从 43 个增至 50 个(+16.28%)
虽然段数量略有增加,但总存储空间仍然减少,说明数据压缩和存储效率得到了提升。
Merge 策略调整
合并操作的权衡
需要注意的是,2.0.0 版本在 Merge 方面有以下变化:
- Merge 次数从 184 次增至 192 次(+4.35%)
- Merge 限流时间从 9.53 分钟增至 11.17 分钟(+17.20%)
这是为了平衡写入性能和查询性能所做的策略调整。用户可以根据实际场景需求,通过以下参数进行优化:
{
"index.merge.scheduler.max_thread_count": "1",
"index.merge.policy.max_merged_segment": "5gb"
}
技术架构改进
1. 段数据结构优化
通过将段元数据从堆内存迁移到堆外内存,Easysearch 2.0.0 实现了:
- 更低的 JVM 堆压力
- 更少的 GC 频率
- 更稳定的内存使用模式
- 更好的大数据集支持能力
2. 查询缓存优化
排序查询性能的巨大提升表明 2.0.0 版本可能在以下方面进行了优化:
- 改进的 Doc Values 访问机制
- 优化的排序算法
- 更高效的分页实现
- 智能的查询结果缓存
3. I/O 优化
Refresh 和 Flush 时间的大幅减少说明:
- 改进了磁盘 I/O 调度策略
- 优化了文件系统操作
- 可能引入了更高效的批量写入机制
适用场景
Easysearch 2.0.0 的性能提升使其在以下场景中表现更加出色:
1. 大规模日志与事件流处理
- 更高的写入吞吐量(+11.24% 峰值)
- 更低的索引延迟
- 适合 APM、日志分析、安全监控等场景
2. 时序数据存储与分析
- 时间戳排序查询性能提升高达 97%
- 适合 IoT、监控指标、金融交易数据等场景
3. 全文搜索应用
- 多类型查询延迟降低 10-30%
- 高并发场景下更稳定的响应时间
- 适合电商搜索、内容管理系统等场景
4. 实时分析与 Dashboard
- 聚合查询性能提升 5-8%
- 更低的极端延迟,用户体验更好
- 适合实时报表、业务 BI 等场景
5. 大数据量遍历与导出
- Scroll 查询延迟降低 29%
- 适合数据迁移、全量导出等场景
升级建议
兼容性
Easysearch 2.0.0 与 1.15.6 在 API 层面保持兼容,但建议:
- 测试环境验证:先在测试环境进行充分验证
- 配置审查:检查 Merge 相关配置是否需要调整
- 监控指标:升级后密切关注 GC、内存、延迟等指标
- 滚动升级:生产环境建议采用滚动升级方式
性能测试环境
本次测试使用 esrally 基准测试工具,测试配置如下:
- 测试场景:append-no-conflicts
- 测试时间:
- Baseline (1.15.6): 2025-11-14
- Contender (2.0.0): 2025-11-21
- 部署方式:External(独立部署)
- CPU 绑定:使用
taskset绑定 Easysearch 进程 0 到 15 cpu - JVM 配置:
-Xms16g -Xmx16g
总结
Easysearch 2.0.0 版本在性能方面取得了全面提升:
- 索引性能提升 12.81%
- 查询延迟降低 10-97%(不同场景)
- 内存使用优化 100%(堆内段数据)
- GC 频率降低 18.86%
- Refresh 性能提升 54.46%
- Flush 性能提升 40%
- 高百分位延迟改善 43-70%
这些改进使得 Easysearch 2.0.0 成为一个更加高效、稳定和可靠的搜索与分析引擎,特别适合处理大规模数据和实时查询场景。无论是日志分析、时序数据处理,还是全文搜索应用,2.0.0 版本都能提供更优秀的性能表现。
我们强烈建议用户升级到 Easysearch 2.0.0,以获得这些显著的性能提升和更好的使用体验。
关于 Easysearch

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
作者:张磊,极限科技(INFINI Labs)搜索引擎研发负责人,对 Elasticsearch 和 Lucene 源码比较熟悉,目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
原文:https://infinilabs.cn/blog/2025/easysearch-2.0.0-performance-improvements/
概述
Easysearch 2.0.0 正式版带来了显著的性能提升和优化改进。通过与上一个稳定版本 1.15.6 的全面对比测试,我们使用 esrally 基准测试工具在 append-no-conflicts 场景下进行了深入的性能评估。测试结果表明,2.0.0 版本在索引性能、查询延迟、内存管理等核心指标上都实现了突破性改进。
核心性能提升
1. 索引性能更加稳定
写入效率提升 12.81%
Easysearch 2.0.0 索引性能表现更加稳定:
- 累计索引 CPU 时间(所有主分片):从 225.1 分钟缩短至 196.3 分钟,减少 28.8 分钟(-12.81%)
- 索引吞吐量:
- 平均吞吐量从 180,868 docs/s 提升至 190,712 docs/s(+5.44%)
- 最大吞吐量从 198,184 docs/s 提升至 220,460 docs/s(+11.24%)
- 最小吞吐量从 164,263 docs/s 提升至 178,961 docs/s(+8.95%)
累计索引 CPU 时间的减少,表明 2.0.0 版本在索引操作上更加高效,CPU 利用率更优。这意味着在相同硬件条件下,Easysearch 2.0.0 能够更快地完成数据摄入任务,对于需要处理大规模数据写入的场景具有重要意义。
Indexing Throughput (docs/s) - Higher is Better
2. Refresh 和 Flush 耗时缩短
Refresh 和 Flush 性能大幅改善
在 Elasticsearch/Easysearch 中,Refresh 和 Flush 操作对写入性能有直接影响。2.0.0 版本在这两个关键操作上实现了重大优化:
Refresh 性能提升 54.46%
- 累计刷新时间:从 9.14 分钟降至 4.16 分钟
- 中位刷新时间:减少 61.86%(从 0.133 分钟降至 0.051 分钟)
- 最大刷新时间:减少 65.62%(从 1.12 分钟降至 0.39 分钟)
Flush 性能提升 40%
- 累计刷盘时间:从 12.57 分钟降至 7.54 分钟
- 中位刷盘时间:减少 57.57%
- 最大刷盘时间:减少 31.93%
Cumulative Refresh Time (min) - Lower is Better
Cumulative Flush Time (min) - Lower is Better
这些优化使得 Easysearch 2.0.0 能够更高效地将数据持久化到磁盘,同时减少对写入操作的阻塞。
3. 垃圾回收(GC)性能优化
GC 效率显著提升
- Young GC 次数:从 525 次降至 426 次,减少 18.86%
- Young GC 时间:从 16.547 秒降至 15.985 秒,减少 3.40%
- Old GC:两个版本均无 Old GC 发生,内存管理健康
更少的 GC 次数意味着:
- 应用程序 STW(Stop-The-World)暂停更少
- 更稳定的查询响应时间
- 更好的系统吞吐量
查询性能提升
1. 基础查询延迟降低
多类型查询性能全面提升
| 查询类型 | 延迟指标 | 改进幅度 |
|---|---|---|
| Default 查询 | 50 分位延迟 | -11.40% (19.97ms → 17.69ms) |
| 99 分位延迟 | -15.23% (25.66ms → 21.75ms) | |
| Term 查询 | 50 分位延迟 | -19.88% (4049ms → 3244ms) |
| 90 分位延迟 | -18.73% (4137ms → 3362ms) | |
| Range 查询 | 50 分位延迟 | -31.71% (42.19ms → 28.81ms) |
| 100 分位延迟 | -64.68% (111.42ms → 39.35ms) |
Query Latency Improvements (ms) - Lower is Better
2. 排序查询性能飞跃
时间戳排序查询优化高达 97%
Easysearch 2.0.0 在排序查询场景下实现了令人瞩目的性能突破:
降序排序(desc_sort_timestamp)
- 50 分位延迟:从 516.07ms 降至 98.89ms(-80.84%)
- 90 分位延迟:从 544.84ms 降至 123.59ms(-77.32%)
- 99 分位延迟:从 603.14ms 降至 139.93ms(-76.80%)
升序排序 + After 分页(asc_sort_with_after_timestamp)
- 50 分位延迟:从 1272.58ms 降至 33.56ms(-97.36%)
- 90 分位延迟:从 1386.92ms 降至 37.25ms(-97.31%)
- 99 分位延迟:从 1474.98ms 降至 38.11ms(-97.42%)
Sort Query Latency (ms) - Lower is Better
Force Merge 后的排序查询
在强制合并为单段后,排序查询性能更加出色:
降序排序(force-merge-1-seg)
- 50 分位延迟:从 131,617ms 降至 115.01ms(-99.91%)
- 这一改进相当于从 2 分钟以上降至 0.1 秒!
升序 + After 分页(force-merge-1-seg)
- 50 分位延迟:从 1387.01ms 降至 132.42ms(-90.45%)
- 90 分位延迟:从 1509.03ms 降至 159.05ms(-89.46%)
3. 聚合查询性能提升
hourly_agg 聚合查询优化
- 50 分位延迟:从 4192.57ms 降至 3866.07ms(-7.79%)
- 90 分位延迟:从 4303.51ms 降至 4053.80ms(-5.80%)
- 99 分位延迟:从 4475.32ms 降至 4269.91ms(-4.59%)
4. Scroll 查询性能改进
大数据量遍历场景优化
- 50 分位延迟:从 6511.65ms 降至 4623.87ms(-28.99%)
- 90 分位延迟:从 6881.70ms 降至 5972.79ms(-13.21%)
- 平均吞吐量:从 24.192 pages/s 提升至 24.485 pages/s(+1.21%)
Scroll Query Latency (ms) - Lower is Better
5. 高百分位延迟大幅改善
极端场景下的稳定性提升
在衡量系统稳定性的高百分位延迟指标上,2.0.0 版本表现卓越:
| 场景 | 99.9 分位延迟改进 | 99.99 分位延迟改进 | 100 分位延迟改进 |
|---|---|---|---|
| index-append | -43.40% | -65.35% | -70.91% |
| (3364ms → 1904ms) | (9618ms → 3333ms) | (13427ms → 3906ms) |
这意味着即使在最坏的情况下,2.0.0 版本也能提供更加稳定和可预测的性能表现。
范围查询性能提升
200s-in-range 和 400s-in-range 查询优化
-
200s-in-range:
- 50 分位延迟降低 15.60%
- 吞吐量提升 1.20%
- 400s-in-range:
- 50 分位延迟降低 8.44%
- 吞吐量提升 0.23%
存储优化
磁盘空间使用更高效
- 存储大小:从 19.51 GB 降至 19.14 GB(-1.93%)
- 段数量:从 43 个增至 50 个(+16.28%)
虽然段数量略有增加,但总存储空间仍然减少,说明数据压缩和存储效率得到了提升。
Merge 策略调整
合并操作的权衡
需要注意的是,2.0.0 版本在 Merge 方面有以下变化:
- Merge 次数从 184 次增至 192 次(+4.35%)
- Merge 限流时间从 9.53 分钟增至 11.17 分钟(+17.20%)
这是为了平衡写入性能和查询性能所做的策略调整。用户可以根据实际场景需求,通过以下参数进行优化:
{
"index.merge.scheduler.max_thread_count": "1",
"index.merge.policy.max_merged_segment": "5gb"
}
技术架构改进
1. 段数据结构优化
通过将段元数据从堆内存迁移到堆外内存,Easysearch 2.0.0 实现了:
- 更低的 JVM 堆压力
- 更少的 GC 频率
- 更稳定的内存使用模式
- 更好的大数据集支持能力
2. 查询缓存优化
排序查询性能的巨大提升表明 2.0.0 版本可能在以下方面进行了优化:
- 改进的 Doc Values 访问机制
- 优化的排序算法
- 更高效的分页实现
- 智能的查询结果缓存
3. I/O 优化
Refresh 和 Flush 时间的大幅减少说明:
- 改进了磁盘 I/O 调度策略
- 优化了文件系统操作
- 可能引入了更高效的批量写入机制
适用场景
Easysearch 2.0.0 的性能提升使其在以下场景中表现更加出色:
1. 大规模日志与事件流处理
- 更高的写入吞吐量(+11.24% 峰值)
- 更低的索引延迟
- 适合 APM、日志分析、安全监控等场景
2. 时序数据存储与分析
- 时间戳排序查询性能提升高达 97%
- 适合 IoT、监控指标、金融交易数据等场景
3. 全文搜索应用
- 多类型查询延迟降低 10-30%
- 高并发场景下更稳定的响应时间
- 适合电商搜索、内容管理系统等场景
4. 实时分析与 Dashboard
- 聚合查询性能提升 5-8%
- 更低的极端延迟,用户体验更好
- 适合实时报表、业务 BI 等场景
5. 大数据量遍历与导出
- Scroll 查询延迟降低 29%
- 适合数据迁移、全量导出等场景
升级建议
兼容性
Easysearch 2.0.0 与 1.15.6 在 API 层面保持兼容,但建议:
- 测试环境验证:先在测试环境进行充分验证
- 配置审查:检查 Merge 相关配置是否需要调整
- 监控指标:升级后密切关注 GC、内存、延迟等指标
- 滚动升级:生产环境建议采用滚动升级方式
性能测试环境
本次测试使用 esrally 基准测试工具,测试配置如下:
- 测试场景:append-no-conflicts
- 测试时间:
- Baseline (1.15.6): 2025-11-14
- Contender (2.0.0): 2025-11-21
- 部署方式:External(独立部署)
- CPU 绑定:使用
taskset绑定 Easysearch 进程 0 到 15 cpu - JVM 配置:
-Xms16g -Xmx16g
总结
Easysearch 2.0.0 版本在性能方面取得了全面提升:
- 索引性能提升 12.81%
- 查询延迟降低 10-97%(不同场景)
- 内存使用优化 100%(堆内段数据)
- GC 频率降低 18.86%
- Refresh 性能提升 54.46%
- Flush 性能提升 40%
- 高百分位延迟改善 43-70%
这些改进使得 Easysearch 2.0.0 成为一个更加高效、稳定和可靠的搜索与分析引擎,特别适合处理大规模数据和实时查询场景。无论是日志分析、时序数据处理,还是全文搜索应用,2.0.0 版本都能提供更优秀的性能表现。
我们强烈建议用户升级到 Easysearch 2.0.0,以获得这些显著的性能提升和更好的使用体验。
关于 Easysearch

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
收起阅读 »作者:张磊,极限科技(INFINI Labs)搜索引擎研发负责人,对 Elasticsearch 和 Lucene 源码比较熟悉,目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
原文:https://infinilabs.cn/blog/2025/easysearch-2.0.0-performance-improvements/
【搜索客社区日报】第2157期 (2025-12-03)
https://elasticstack.blog.csdn ... 74725
2. 混合搜索无需头疼:使用 retrievers 简化混合搜索
https://elasticstack.blog.csdn ... 35155
3. 理解智能体人工智能的知识图谱(搭梯)
https://medium.com/%40shilpath ... 8387b
编辑:kin122
更多资讯:http://news.searchkit.cn
https://elasticstack.blog.csdn ... 74725
2. 混合搜索无需头疼:使用 retrievers 简化混合搜索
https://elasticstack.blog.csdn ... 35155
3. 理解智能体人工智能的知识图谱(搭梯)
https://medium.com/%40shilpath ... 8387b
编辑:kin122
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2156期 (2025-12-02)
https://medium.com/pickme-engi ... 46a9d
2. 手搓一个搜索引擎难吗?(需要梯子)
https://karboosx.net/post/4eZx ... works
3. 把ES的数据导到qdrant,现在会了吧(需要梯子)
https://pub.towardsai.net/how- ... ad1b8
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
https://medium.com/pickme-engi ... 46a9d
2. 手搓一个搜索引擎难吗?(需要梯子)
https://karboosx.net/post/4eZx ... works
3. 把ES的数据导到qdrant,现在会了吧(需要梯子)
https://pub.towardsai.net/how- ... ad1b8
编辑:斯蒂文
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2151期 (2025-11-25)
https://medium.com/%40securenu ... f92b5
2. 5分钟就给你搜索引擎拉起来了,信不信?(需要梯子)
https://medium.com/%40abel.ncm ... 05a61
3. 日志平台大掰头,这次你站谁?(需要梯子)
https://medium.com/%40rostisla ... 1379b
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
https://medium.com/%40securenu ... f92b5
2. 5分钟就给你搜索引擎拉起来了,信不信?(需要梯子)
https://medium.com/%40abel.ncm ... 05a61
3. 日志平台大掰头,这次你站谁?(需要梯子)
https://medium.com/%40rostisla ... 1379b
编辑:斯蒂文
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2155期 (2025-12-01)
https://elasticstack.blog.csdn ... 94401
2、混合搜索无需头疼:使用 retrievers 简化混合搜索
https://elasticstack.blog.csdn ... 35155
3、使用 LangChain 和 Elasticsearch 开发一个 agentic RAG 助手
https://elasticstack.blog.csdn ... 74725
4、Easysearch Python 客户端企业级实战——从 0 到 1 解决兼容性与连接难题
https://mp.weixin.qq.com/s/FnRUYVW_JEKerEAE1cJWlg
5、Structured RAG:解决传统 RAG 的准确性盲区
https://mp.weixin.qq.com/s/VsUgOdKl3PJSmqFhHnhReA
编辑:Muse
更多资讯:http://news.searchkit.cn
https://elasticstack.blog.csdn ... 94401
2、混合搜索无需头疼:使用 retrievers 简化混合搜索
https://elasticstack.blog.csdn ... 35155
3、使用 LangChain 和 Elasticsearch 开发一个 agentic RAG 助手
https://elasticstack.blog.csdn ... 74725
4、Easysearch Python 客户端企业级实战——从 0 到 1 解决兼容性与连接难题
https://mp.weixin.qq.com/s/FnRUYVW_JEKerEAE1cJWlg
5、Structured RAG:解决传统 RAG 的准确性盲区
https://mp.weixin.qq.com/s/VsUgOdKl3PJSmqFhHnhReA
编辑:Muse
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2154期 (2025-11-28)
https://mp.weixin.qq.com/s/xe6RYpYXNP2JKehL0kk8vg
2、Coco AI V0.9.0 数据权限管控体验
https://blog.csdn.net/yangmf20 ... 03075
3、浅谈 AI 搜索前端打字机效果的实现方案演进
https://my.oschina.net/vivotech/blog/18821045
4、如何使用证书认证连接 Easysearch
https://blog.csdn.net/yangmf20 ... 59952
5、Easysearch 跨集群复制(CCR)实战全攻略之 1——本地两集群间复制
https://mp.weixin.qq.com/s/wxB0fH7GHZGspKB9Rp7gtg
编辑:Fred
更多资讯:http://news.searchkit.cn
https://mp.weixin.qq.com/s/xe6RYpYXNP2JKehL0kk8vg
2、Coco AI V0.9.0 数据权限管控体验
https://blog.csdn.net/yangmf20 ... 03075
3、浅谈 AI 搜索前端打字机效果的实现方案演进
https://my.oschina.net/vivotech/blog/18821045
4、如何使用证书认证连接 Easysearch
https://blog.csdn.net/yangmf20 ... 59952
5、Easysearch 跨集群复制(CCR)实战全攻略之 1——本地两集群间复制
https://mp.weixin.qq.com/s/wxB0fH7GHZGspKB9Rp7gtg
编辑:Fred
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2153期 (2025-11-27)
https://mp.weixin.qq.com/s/3XvI8uzD0UUnTUJ03KjKHg
2.OceanBase 年度发布会 Hands-on AI Workshop 回顾
https://mp.weixin.qq.com/s/5ZuqJzngFqxLJBqxItn5Cg
3.Speculators:生产级训练投机解码的标准化方案
https://mp.weixin.qq.com/s/ndmaREajMMWu79dyZeJj1w
4.Ray symmetric-run:让 vLLM 多节点部署更轻盈
https://mp.weixin.qq.com/s/1cZtyTDr97qLZ40VfOQ5xw
编辑:Se7en
更多资讯:http://news.searchkit.cn
https://mp.weixin.qq.com/s/3XvI8uzD0UUnTUJ03KjKHg
2.OceanBase 年度发布会 Hands-on AI Workshop 回顾
https://mp.weixin.qq.com/s/5ZuqJzngFqxLJBqxItn5Cg
3.Speculators:生产级训练投机解码的标准化方案
https://mp.weixin.qq.com/s/ndmaREajMMWu79dyZeJj1w
4.Ray symmetric-run:让 vLLM 多节点部署更轻盈
https://mp.weixin.qq.com/s/1cZtyTDr97qLZ40VfOQ5xw
编辑:Se7en
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2152期 (2025-11-26)
https://medium.com/%40marinell ... f5713
2. Elasticsearch 到本地 LLM0(搭梯)
https://medium.com/%40darkly_s ... f57e7
3. 使用 LLM、MCP 和 Ollama 通过自然语言查询 Elasticsearch
https://david-dudu-zbeda.mediu ... b7b43
编辑:kin122
更多资讯:http://news.searchkit.cn
https://medium.com/%40marinell ... f5713
2. Elasticsearch 到本地 LLM0(搭梯)
https://medium.com/%40darkly_s ... f57e7
3. 使用 LLM、MCP 和 Ollama 通过自然语言查询 Elasticsearch
https://david-dudu-zbeda.mediu ... b7b43
编辑:kin122
更多资讯:http://news.searchkit.cn 收起阅读 »
【搜索客社区日报】第2150期 (2025-11-24)
https://elasticstack.blog.csdn ... 50222
2、你的第一个 Elastic Agent:从单个查询到 AI 驱动的聊天(二)
https://elasticstack.blog.csdn ... 64514
3、介绍一种新的向量存储格式:DiskBBQ
https://mp.weixin.qq.com/s/CcDoX6AktlrKhTJuiJAsag
4、Elasticsearch 混合搜索 - Hybrid Search
https://mp.weixin.qq.com/s/PW8W9UDuSCoYrQgVwRfmWQ
5、为什么 LLM 搞不定复杂任务?ReAct 与 Reflexion 技术综述
https://mp.weixin.qq.com/s/GJIjxwGQ0tMBj3if1FU9sw
编辑:Muse
更多资讯:http://news.searchkit.cn
https://elasticstack.blog.csdn ... 50222
2、你的第一个 Elastic Agent:从单个查询到 AI 驱动的聊天(二)
https://elasticstack.blog.csdn ... 64514
3、介绍一种新的向量存储格式:DiskBBQ
https://mp.weixin.qq.com/s/CcDoX6AktlrKhTJuiJAsag
4、Elasticsearch 混合搜索 - Hybrid Search
https://mp.weixin.qq.com/s/PW8W9UDuSCoYrQgVwRfmWQ
5、为什么 LLM 搞不定复杂任务?ReAct 与 Reflexion 技术综述
https://mp.weixin.qq.com/s/GJIjxwGQ0tMBj3if1FU9sw
编辑:Muse
更多资讯:http://news.searchkit.cn 收起阅读 »

