【搜索客社区日报】第2030期 (2024-04-29)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 48 次浏览 • 3 小时前
https://medium.com/%40unicorn- ... 151e2
2. ES VS. Doris,腾讯音乐如何抉择(需要梯子)
https://medium.com/%40ApacheDo ... 35611
3. ES,让航班信息尽在掌握(需要梯子)
https://medium.com/gitconnecte ... 9a3b0
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
INFINI Labs 产品更新 | Coco AI 0.4 发布 – 完善小助手设置,添加MCP支持
资讯动态 • INFINI Labs 小助手 发表了文章 • 0 个评论 • 137 次浏览 • 14 小时前

INFINI Labs 产品更新发布!此次更新涵盖 Coco AI 、Easysearch 等产品多项重要升级,重点提升 AI 搜索能力、易用性及企业级优化。
- Coco AI v0.4 作为 开源、跨平台的 AI 搜索工具,完善小助手设置,添加 MCP 支持。
- Coco AI Server 新增模型提供商管理,AI 助手设置和大量优化改进。
- INFINI Easysearch v1.12.1 修复上个版本引入的数个问题。
- INFINI Console、Gateway、Agent、Loadgen、Framework 关键问题修复,优化 HTTP 请求压缩,修复一些界面问题。
Coco AI v0.4
Coco AI 是一个完全开源、跨平台的统一 AI 搜索与效率工具,能够连接并搜索多种数据源,包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型,Coco AI 实现了智能化的个人知识库管理,注重隐私,支持私有部署,帮助用户快速、智能地访问信息。
Coco AI 本次详细更新记录如下:
Coco AI 客户端 v0.4.0


Coco AI 服务端 v0.4.0
功能更新
- 新增聊天会话管理 API
- 支持字体图标
- 新增 AI 助手设置
 - 新增 MCP 服务器管理
 - 新增模型提供商管理


 - 新增版本及授权信息

问题修复
- 修复了语雀连接器对个人令牌支持不完善的问题
- 修复嵌入组件包装器中的 Content-Type 头错误问题
- 修复默认登录 URL 不可更改的问题
优化改进
- 内置连接器图标资源设置为只读
- 支持设置嵌入组件的图标和占位符
- 优化嵌入组件搜索框 UI
- 重构优化安全插件
- 嵌入组件主题样式设置为 auto 时搜索框主题样式跟随系统
- 嵌入组件支持设置推荐话题
- 跳过处理已禁用的嵌入组件包装器
- 创建 google drive 类型数据源时,如果缺少必要设置,引导用户去设置
- 默认使用 Go Module 管理模块依赖
- 图标组件支持用户输入 URL 地址配置图标
- 更新默认查询模版
INFINI Easysearch v1.12.1
INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
Easysearch 本次更新如下:
问题修复
- 修复 ollama_url 不能动态更新的错误
- 修复 ollama api 未正确兼容单个文本请求
- 索引生命周期管理 delete action 按文档最新时间删除时修正为按降序排序
INFINI Console v1.29.3
INFINI Console 是一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 在线体验:
<http://demo.infini.cloud> (用户名/密码:readonly/readonly)。
Console 本次更新如下:
问题修复
- 修复删除索引后重建索引缓存问题
- 修复 qps 相关指标展示时的小数位数
- 修复队列数据查看不弹窗问题
- 修复索引管理别名跳转 404 问题
- 修复初始化界面集群地址不正确问题
优化改进
- http 处理器开启压缩默认配置
- 增加初始化模板,对于 Easysearch >= 1.12.1 开启新的模板
INFINI Gateway v1.29.3
INFINI Gateway 是一个开源的面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
Gateway 本次更新如下:
优化改进
- 同步更新 [Framework v1.1.6](https://docs.infinilabs.com/fr ... notes/) 优化了一些已知问题
- 实现 HTTP 处理器请求压缩支持
INFINI Agent v1.29.2
INFINI Agent 负责采集和上传 Elasticsearch, Easysearch, Opensearch 集群的日志和指标信息,通过 INFINI Console 管理,支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。
Agent 本次更新如下:
优化改进
- 同步更新 [Framework v1.1.6](https://docs.infinilabs.com/fr ... notes/) 优化了一些已知问题
- 优化节点发现日志输出
INFINI Loadgen v1.29.3
INFINI Loadgen 是一款开源的专为 Easysearch、Elasticsearch、OpenSearch 设计的轻量级性能测试工具。
Loadgen 本次更新如下:
优化改进
- 同步更新 [Framework v1.1.6](https://docs.infinilabs.com/fr ... notes/) 优化了一些已知问题
INFINI Framework v1.1.6
INFINI Framework 是 INFINI Labs 基于 Golang 的产品的核心基础,已开源。该框架以开发者为中心设计,简化了构建高性能、可扩展且可靠的应用程序的过程。
Framework 本次更新如下:
重大变更
- 添加
Elasticsearch v9
的适配器
功能更新
- 在 ORM 模块中添加对
query_string
和prefix
查询的支持 - 为 HTTP 处理器添加压缩支持
- 允许在设置(setup)完成后注册回调函数
问题修复
- 修复
WriteHeader
函数,防止重复写入状态码 - 确保在
HTTP
处理器中写入响应前,先设置 200 状态码 - 检测到管道配置变化时,重新加载并通知相关模块
- 修正默认设置为绿色时,不记录集群状态丢失的问题
优化改进
- 添加获取实例 ID 的工具函数
- 添加删除会话键的工具函数
- 更新
Profile
结构体 - 设置服务重启策略为 "always"
- 添加针对“未找到记录”场景写入响应的工具函数
- 默认支持
Go Modules
更多详情请查看以下详细的 Release Notes 或联系我们的技术支持团队!
- [INFINI Easysearch](https://docs.infinilabs.com/ea ... earch/)
- [INFINI Console](https://docs.infinilabs.com/co ... notes/)
- [INFINI Gateway](https://docs.infinilabs.com/ga ... notes/)
- [INFINI Agent](https://docs.infinilabs.com/ag ... notes/)
- [INFINI Loadgen](https://docs.infinilabs.com/lo ... notes/)
- [INFINI Framework](https://docs.infinilabs.com/fr ... notes/)
- [Coco AI App](https://docs.infinilabs.com/co ... notes/)
- [Coco AI Server](https://docs.infinilabs.com/co ... notes/)
期待反馈
欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(<https://github.com/infinilabs>) 中的对应项目中提交 Feature Request 或提交 Bug。
下载地址: <https://infinilabs.cn/download>
邮件:hello@infini.ltd
电话:(+86) 400-139-9200
Discord:<https://discord.gg/4tKTMkkvVX>
也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

关于极限科技(INFINI Labs)

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。
极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。
官网:<https://infinilabs.cn>
【搜索客社区日报】第2029期 (2025-04-28)
社区日报 • Muses 发表了文章 • 0 个评论 • 212 次浏览 • 23 小时前
https://infinilabs.cn/blog/202 ... ions/
2、Easysearch S3 备份实战
https://mp.weixin.qq.com/s/3ClNHwfTSZrHYzLmBD1CzQ
3、Manus 完整版系统提示词
https://mp.weixin.qq.com/s/xT2R2o_P1DrQ3MJGmhZ_7w
4、Elasticsearch推理API设置分块策略
https://mp.weixin.qq.com/s/CIZfsNn_J4Q_n1kFlylx8w
5、Elasticsearch 8.18 ES|QL Join 功能实战
https://mp.weixin.qq.com/s/7ZUVuvabXF4L955ncs-Pqw
编辑:Muse
更多资讯:http://news.searchkit.cn
谈谈 ES 6.8 到 7.10 的功能变迁(3)- 查询方法篇
Elasticsearch • INFINI Labs 小助手 发表了文章 • 0 个评论 • 243 次浏览 • 1 天前
上一篇咱们了解了 ES 7.10 相较于 ES 6.8 新增的字段类型,这一篇我们继续了解新增的查询方法。
Interval 间隔查询:
功能介绍
Interval 查询,词项间距查询,可以根据匹配词项的顺序、间距和接近度对文档进行排名。主要解决的查询场景“创建一个多搜索词匹配的查询,同时保留搜索词的顺序”,比 match phrase 更加符合需求场景,查询方法使用比 span 查询更简单。ES 后续版本想用 interval 查询逐步替代 span 查询。
注意事项
规则组合
- 可以使用 prefix、wildcard、fuzzy 等规则
- 通过设置 max_gaps 和 ordered 参数,可以控制词项间的最大间隙和顺序要求。
性能考虑
- 间隔查询比简单的词项匹配更消耗资源
- 嵌套规则越多,性能开销越大
- 建议合理使用 maxGaps 参数限制间距
使用限制
- 只能用于 text 字段
- 不支持跨字段查询
- 不支持对数值类型字段使用
Distance feature 查询
功能说明
时间/地理距离特性查询,该查询用于查找更接近被查询日期和地理位置的结果。 日期和位置分别是声明为 date 和 geo_point 数据类型的字段。返回结果的字段值不需要完全等于被查询值,而是按照给定日期或给定位置的进度算分,越是接近被查询值,在相关性得分中被评为更高。
字段类型要求
- 日期字段必须是 date 类型,地理位置字段必须是 geo_point 类型
- 不支持其他类型的距离计算
评分机制
- 距离越近,得分越高
- 使用 boost 参数调整权重
- 可以与其他查询组合使用
性能考虑
- 地理距离计算较为耗费资源,建议使用合适的索引优化地理查询,比如:考虑使用地理网格索引提升性能
Pinned 查询
功能说明
实现对某些文档的置顶功能,使用存储在_id 字段中的文档 ID 来标识升级或“固定”的文档。
此功能通常用于引导搜索者查找精选的文档,这些文档在搜索的任何 “organic” 匹配项之上被提升。当查询中有排序时,pinned 查询失效。
使用限制
- 不能与自定义排序一起使用
- 置顶文档必须存在于索引中
- 最多支持 100 个置顶文档
排序规则
- 置顶文档按照 ids 数组中的顺序排序
- organic 查询结果按照相关性得分排序
- 置顶文档始终在 organic 结果之前
PIT 查询
功能说明
Point in time 查询是一个轻量级的视图,根据保留周期保留 PIT 查询发生时数据的状态,用于不同条件的深度分页查询。
scroll 滚动搜索及其上下文与查询内容绑定。这意味着编写一个查询,添加一个滚动参数,来自这个查询的响应数据就会保持一致。不同的查询内容则会产生不同的 scroll 上下文,资源使用就会相对紧张。有时想对同一固定数据集适时运行不同的查询,就需要 PIT 查询。
如果对于一个不断变化的索引有着很高的搜索负载,那么为每个请求创建一个新的时间点查询会使用相当多的资源。可以通过使用一个后台进程每隔几分钟创建一个时间点 id 并将其用于所有搜索请求的方式来优化资源使用
更多内容可以[参照这里](https://blog.csdn.net/UbuntuTo ... 925187)
注意事项
资源管理
- PIT 会占用系统资源,需要及时释放
- 建议设置合理的保留时间
- 监控 open context 数量
使用场景
- 适合需要一致性视图的场景
- 适合需要深度分页的场景
- 适合需要在固定数据集上执行多次查询的场景
性能优化
- 避免过长的保留时间,合理设置批次大小
- 建议查询的时候带 sort 参数排序
测试代码
<br /> // 1. 使用 product_test 索引,创建 PIT<br /> POST /product_test/_pit?keep_alive=1m<br />

<br /> GET /_search<br /> {<br /> "size": 1,<br /> "query": {<br /> "match": {<br /> "model": "iphone"<br /> }<br /> },<br /> "pit": {<br /> "id": "i6-xAwEMcHJvZHVjdF90ZXN0FmRObXltV3ZDU1VTTnllYjNoR0ZtamcAFk1GQklTWXBaUkllb2h1cGl1VVFsdUEAAAAAAAABZk8WOFVoUHBhN3BSVVN5TWVmeTh4d3JpdwEWZE5teW1XdkNTVVNOeWViM2hHRm1qZwAA",<br /> "keep_alive": "1m"<br /> },<br /> "sort": [<br /> {"_score": "desc"},<br /> {"_id": "asc"}<br /> ]<br /> }<br /> <br />

<br /> DELETE /_pit<br /> {"id":"i6-xAwEMcHJvZHVjdF90ZXN0FmRObXltV3ZDU1VTTnllYjNoR0ZtamcAFk1GQklTWXBaUkllb2h1cGl1VVFsdUEAAAAAAAABZk8WOFVoUHBhN3BSVVN5TWVmeTh4d3JpdwEWZE5teW1XdkNTVVNOeWViM2hHRm1qZwAA"}<br />

小结
作为查询方法,Elasticsearch 新增的几个功能面对的场景更加具象且方便,大家可以根据业务的场景特性可以优化使用。其中深度分页查询是 ES 使用者几乎避免不了的场景,PIT 查询也是提供了一个更为优质的方法。
推荐阅读
- [谈谈 ES 6.8 到 7.10 的功能变迁(1)- 性能优化篇](https://infinilabs.cn/blog/202 ... part-1)
- [谈谈 ES 6.8 到 7.10 的功能变迁(2)- 字段类型篇](https://infinilabs.cn/blog/202 ... part-2)
- [谈谈 ES 6.8 到 7.10 的功能变迁(4)- 聚合功能篇](https://infinilabs.cn/blog/202 ... part-4)
- [谈谈 ES 6.8 到 7.10 的功能变迁(5)- 任务和集群管理](https://infinilabs.cn/blog/202 ... part-5)
- [谈谈 ES 6.8 到 7.10 的功能变迁(6)- 其他](https://infinilabs.cn/blog/202 ... part-6)
关于极限科技(INFINI Labs)

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。
极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。
官网:<https://infinilabs.cn>
作者:金多安,极限科技(INFINI Labs)搜索运维专家,Elastic 认证专家,搜索客社区日报责任编辑。一直从事与搜索运维相关的工作,日常会去挖掘 ES / Lucene 方向的搜索技术原理,保持搜索相关技术发展的关注。
原文:https://infinilabs.cn/blog/202 ... rt-3/
【直播预告】开源智能搜索与知识管理革新 —— Coco AI 全景解读
活动 • INFINI Labs 小助手 发表了文章 • 0 个评论 • 733 次浏览 • 3 天前
4 月 28 日(周一)19:00,INFINI Labs 与 GitCode 联合为您带来 Coco AI 专场直播!本次直播将深度剖析 Coco AI 的核心功能、技术架构及其在实际场景中的应用,带您领略智能搜索与知识管理的全新变革。精彩不容错过,快来预约观看吧!👇

直播时间: 2025-04-28 19:00
直播平台: GitCode 视频号 、CSDN 双端、极限实验室视频号
CSDN 直播间地址 👇
https://live.csdn.net/room/csdnedu/q6BD0Kui
直播主题
开源智能搜索与知识管理革新 —— Coco AI 全景解读
直播简介
在人工智能技术飞速发展的今天,如何高效管理海量信息、实现智能搜索与知识共享,已成为个人与企业共同面临的挑战。本次直播将全面解析 Coco AI —— 由极限科技(INFINI Labs)推出的开源、跨平台智能搜索与知识库管理工具,带您探索其核心功能、技术架构及实际应用场景。
无论您是希望优化知识管理的个人,还是期望建立高效信息生态的企业,亦或是对技术实现感兴趣的开发者,本次直播都将是您不可错过的学习与交流机会。
直播主题及嘉宾介绍
主题一 :《下一代 AI 搜索工具 - Coco AI 介绍》
主题摘要:
Coco AI 是由极限科技推出的一款完全开源且免费的智能搜索与 AI 知识库工具。本次分享将深入介绍 Coco AI 的核心功能,并探讨如何融合人工智能与搜索技术,实现智能化搜索与知识管理的全面优化,从而有效提升企业协作效率与个人生产力。
分享嘉宾:
曾勇,极限科技 / INFINI Labs 创始人兼 CEO,现正带领团队专注于下一代实时搜索引擎与 AI 智能搜索相关技术的研发与创新。
主题二 :《使用 Coco AI 打造 ES 专用工具箱》
主题摘要:
基于 Coco AI 打造了专门针对 ES 的工具箱,旨在通过快速、高效、准确的数据检索,解决 ES 使用过程中常见的问题,提升工作效率。
分享嘉宾:
杨帆,极限科技(INFINI Labs)高级解决方案架构师、《老杨玩搜索》栏目 B 站 UP 主,拥有十余年金融行业服务工作经验,熟悉 Linux、数据库、网络等领域。目前主要从事 Easysearch、Elasticsearch 等搜索引擎的技术支持工作,服务国内私有化部署的客户。
主题三 :《Coco AI 技术选型-Tauri v2 的优劣》
主题摘要:
Tauri v2 是一款基于 Rust 的跨平台应用开发框架,凭借其轻量化、高性能和扩展性,成为近年来替代 Electron 的热门选择。尤其在 AI 应用开发中,Tauri v2 凭借其独特优势吸引了开发者关注,但也存在一些局限性需权衡。
分享嘉宾:
张斌,极限科技(INFINI Labs)Coco AI 前端研发负责人,拥有丰富的全栈开发经验,专注于 Web 技术与系统架构设计,致力于构建高效、可扩展的应用系统。擅长 JavaScript/TypeScript 生态,熟悉大数据处理和人工智能等前沿技术,具备深厚的工程实践背景,持续探索技术的边界与创新的可能。
关于 Gitcode

[GitCode](https://gitcode.com/) 新一代由 AI 驱动的开源开发者平台,依托 CSDN 开发者社区,通过集成代码托管服务、代码仓库和可信赖的开源组件库,使开发者能够在云端进行代码托管和开发,平台提供了丰富的功能支持和完善的生态体系,帮助开发者轻松管理和分享代码,为开源项目提供强有力的支持。
关于 Coco AI

Coco AI 是一个完全开源、跨平台的统一搜索与效率工具,能够连接并搜索多种数据源,包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型,Coco AI 实现了智能化的个人知识库管理,注重隐私,支持私有部署,帮助用户快速、智能地访问信息。
官网:<https://coco.rs>
GitCode:<https://gitcode.com/infinilabs/coco-app>
Github:<https://github.com/infinilabs/coco-app>
快来 ⭐️ Star 支持 Coco AI 吧 ~
Coco AI 入驻 GitCode:打破数据孤岛,解锁智能协作新可能
开源项目 • INFINI Labs 小助手 发表了文章 • 0 个评论 • 707 次浏览 • 3 天前
在信息爆炸时代,企业正面临前所未有的挑战:
- 企业数据和信息分散,数据孤岛现象严重,员工往往浪费大量时间跨平台检索;
- 跨部门协作困难,团队因信息隔阂导致项目延期;
- 数据安全问题严峻,迫使企业对数据管理提出高要求;
- 传统搜索准确率不足,无法满足用户深层次需求;
这正是 [Coco AI](https://coco.rs/) 诞生的契机——一款重新定义企业效率的智能中枢。
Coco AI 是一个完全开源、跨平台的统一搜索与效率工具,深度融合大语言模型技术,实现从"人找信息"到"信息追人"的范式革命。目前已加入 GitCode 平台成为 G-Star 优秀毕业项目。通过连接 Google Workspace、Notion、语雀等 200+ 数据源,接入 DeepSeek 等大模型,构建企业级智能知识图谱,让数据真正流动起来,帮助企业高效管理和利用内外部数据资源。

多种功能 一次集合
全域智能搜索
- Coco AI 支持整合企业内部和外部的多种数据源,包括 Google Workspace、Dropbox、GitHub、本地文件系统等。
- 提供统一的搜索界面,用户无需切换多个平台即可快速检索所需信息。
AI 知识管家
- 内置基于生成式 AI 的聊天助手,能够理解企业内部的文档、对话记录和工作流程。
- 支持从互联网、内部知识库和指定数据源中提取信息,提供与组织相关的智能回答。
- 支持在搜索模式和聊天模式之间快速切换。
企业安全中枢
- 遵循企业级权限管理规范,确保数据访问的安全性。
- 支持私有化部署,满足企业对数据隐私的高要求。
- 允许开发者根据需求进行定制和扩展,支持企业自行部署,确保数据隐私和安全。
协作生态集成
- 用户可以直接与单个文件或数据源进行交互,例如对文档内容提问或生成摘要。
- 通过整合团队常用的工具和数据源,提升团队协作效率。
- 支持基于上下文的多轮对话,帮助团队成员快速获取所需信息。
- 在 1 分钟内轻松将 Coco AI 功能嵌入到您的网站中。
架构设计图

核心模块 “Coco Server” 提供搜索、聊天、附件管理、索引、嵌入、安全等功能,并通过 API 实现与外部系统的交互。同时,系统支持自定义 UI,为用户提供个性化的搜索和任务管理体验,并通过 AI 助手提供智能化的信息交互体验。
从 V0.3 到行业标准,Coco AI 持续进化,致力于推动知识管理和信息检索的变革,加速企业数字化转型。
立即访问
来 GitCode 了解 Coco AI,让您的企业获得:
- 每年节省百万级人力成本
- 打造永不遗忘的组织和大脑
- 激活数据资产的复合价值
开源可许:
MIT License
项目地址:
<https://gitcode.com/infinilabs/coco-app>
快来 ⭐️ Star 支持 Coco AI 吧 ~
直播预告
4 月 28 日 星期一 19:00 极限科技(INFINI Labs)团队带您全面解析 Coco AI,探索其核心功能、技术架构及实际应用场景,领略智能搜索与知识管理的革新。

CSDN 直播间地址 👇
https://live.csdn.net/room/csdnedu/q6BD0Kui
关于 Gitcode

[GitCode](https://gitcode.com/) 新一代由 AI 驱动的开源开发者平台,依托 CSDN 开发者社区,通过集成代码托管服务、代码仓库和可信赖的开源组件库,使开发者能够在云端进行代码托管和开发,平台提供了丰富的功能支持和完善的生态体系,帮助开发者轻松管理和分享代码,为开源项目提供强有力的支持。
作者:GitCode
原文:https://mp.weixin.qq.com/s/03VTrmVXzflO6QTcZaCLTA
谈谈 ES 6.8 到 7.10 的功能变迁(2)- 字段类型篇
Elasticsearch • INFINI Labs 小助手 发表了文章 • 0 个评论 • 736 次浏览 • 3 天前
我们继续来了解一下从 ES 6.8 到 ES 7.10 新增的功能。本篇主要介绍新增的字段类型,会简要概述一下新增字段类型的使用场景和限制,提供简单的测试代码。
Flattened 扁平化对象字段
功能说明
解决场景
该功能主要用于处理具有大量不确定键的 JSON 对象,避免字段映射爆炸问题,特别适用于不需要对对象内部字段进行单独分析和聚合的场景,以及当对象结构不固定,字段名称动态变化时。
使用注意点
- 整个对象被视为单个字段,无法对内部单个字段进行分析或聚合
- 只支持 keyword 类型的操作,如 term、prefix 查询等。因为它的每个解析出的字段都值为 keyword 字段
- 默认最大字段深度为 20,可以通过 depth_limit 来设置。
- 不支持数字范围查询,高亮显示
- 查询时,无法使用通配符引用字段键,比如 { "term": {"labels.time*": 1541457010}}
- split_queries_on_whitespace 为 true 时,这个字段的全文查询(match,query_string,simple_query_string)等于是用了空格分词器。
支持的查询方法
- term 查询:精确匹配某个字段的值
- terms/terms_set 查询:匹配多个值中的任意一个或者多个
- prefix 查询:前缀匹配
- exists 查询:检查字段是否存在
- match 查询:分词后的全文检索(但因为是 keyword,所以实际上是精确匹配)
- query_string 和 simple_query_string
Shape 字段
功能说明
该功能主要用于存储和查询任意几何图形数据,支持点、线、圆、矩形、多边形等几何形状,特别适用于地理空间分析和基于形状的搜索场景,以及相比于 geo_shape 专门用于地理空间数据(坐标系统固定为 WGS84 经纬度),shape 字段可以用于任意坐标系统的几何形状,比如虚拟世界或者保密空间。
使用要点
- 形状数据使用 [GeoJSON](https://geojson.org/) 或[Well-Known Text (WKT)](https://docs.ogc.org/is/12-063r5/12-063r5.html)格式表示
- 支持的空间关系操作包括:INTERSECTS(相交)、DISJOINT(不相交)、WITHIN(内部)和 CONTAINS(包含)
- 由于 shape 字段的复杂输入结构和索引表示,目前无法对 shape 字段进行排序,也无法直接检索其字段值(只能通过 _source 字段获取)
- orientation 参数用于定义多边形顶点读取的顺序:默认逆时针(counterclockwise),可选顺时针(clockwise)
Wildcard 字段
功能说明
解决的场景
用于优化通配符和正则表达式查询性能。特别适用于需要进行暴力模糊匹配的文本字段。
wildcard 字段在 keyword 字段和 ngrams 分词器之间找到了性能和存储成本的均衡。
原理说明
wildcard 字段采用了一种独特的索引策略,使用这种数据类型自动加速通配符和正则表达式搜索:
- n-gram 索引:存储字符串中所有 3 个字符的序列。可以理解为 ngram 分词器取长度为 3 的子串.
- 二进制 doc value:存储完整的原始文档值
这种方式与传统的 keyword 字段(完全不分词)和 text 字段(基于分词器分词)有很大不同。在查询时,系统首先使用这些 ngrams 构建的索引进行初步筛选,快速定位可能匹配的文档。这个过程类似于数据库中的索引过滤,可以大大减少需要详细检查的文档数量。然后,系统会从二进制 doc value 中取出这些候选文档的完整字段值,进行精确的模式匹配,确保最终结果的准确性。
这种策略在性能和存储空间上取得了很好的平衡:
- n-gram 索引:存储字符串中所有 3 个字符的序列。可以理解为 ngram 分词器取长度为 3 的子串.
- 相比 keyword 字段,在精确匹配查询时性能稍差
- 相比 ngrams 分词,它避免了过度的 token 生成,既节省存储空间,又保持了不错的查询性能
- 特别适合对日志数据进行类似 grep 的模式匹配查询,如通配符查询和正则表达式查询
使用注意点
- 比 keyword 类型更适合做通配符搜索,但会占用更多磁盘空间
- 建议仅在确实需要频繁进行通配符查询的字段上使用
- 与 keyword 字段一样是非分词(untokenized)的,所以不支持依赖词项位置的查询(如短语查询)
更多原理说明可以[参照这里](https://blog.csdn.net/UbuntuTo ... 120879)
Version 字段类型
功能说明
该功能主要用于存储和比较软件版本号,提供版本号的自然排序和比较功能,支持标准的版本号格式(如 1.0.0, 2.1.3-alpha 等)。
使用说明
- 版本号必须符合标准格式:主版本号、次版本号、修订号
- 支持带有预发布标识符的版本号(如 alpha, beta, rc 等)
- 可以进行版本号的大小比较和范围查询,比如可以在 1.0.0 和 2.0.0 之间查找所有版本
- 底层存储的是 keyword 类型,虽然可以正则匹配或者模糊查询,但是在大数据量下注意性能问题。
Histogram 直方图字段
功能说明
解决的场景
Histogram 字段专门用于存储预先计算好的直方图数据,这种数据结构在需要频繁进行统计分析的场景下特别有用。通过预先聚合数据并以直方图形式存储,可以显著减少查询时的实时计算开销,提高查询性能。对大规模数据集的统计分析很有利,比如系统监控指标、用户行为分析等需要快速获取数据分布情况的场景。
直方图的数据格式
直方图字段需要包含两个必需的参数来表示直方图数据:
values
:数值数组,表示每个聚合分桶的取值点,即区间的起点。数组中的值必须是严格递增双精度浮点数counts
:整数数组,表示落在当前区间内的元素数量。数组中的值必须是非负整数。具体来说,对于位置 i,counts[i] 表示数值大于等于 values[i] 且小于 values[i+1] 的元素个数(最后一个区间则包含等于 values[last] 的元素)
这两个数组必须具有相同的长度。
例如,一个表示年龄分布的直方图数据可能如下:
json<br /> {<br /> "age_histogram": {<br /> "values": [20.0, 30.0, 40.0, 50.0], // 年龄区间的起点:[20-30)、[30-40)、[40-50)、[50 及以上]<br /> "counts": [100, 150, 75, 25] // 表示:20-29 岁有 100 人,30-39 岁有 150 人,40-49 岁有 75 人,50 岁及以上有 25 人<br /> }<br /> }<br />
存储说明
直方图字段主要用于聚合分析。为了优化聚合操作的性能,数据以二进制 doc values 形式存储,而不是创建索引。每个直方图字段的存储大小最多为 13 * numValues 字节,其中 numValues 是数组的长度。
使用注意点
- value 数组必须按升序排列
- count 数组的长度必须与 value 数组相同
- 由于数据被索引,直方图字段仅支持以下操作:
- 聚合操作:min(最小值)、max(最大值)、sum(求和)、value_count(计数)、avg(平均值)、percentiles(百分位数)、percentile_ranks(百分位等级)、boxplot(箱线图)、histogram(直方图)
- 查询操作:仅支持 exists(存在性)查询
Search-as-you-type 字段
功能说明
解决的场景
该功能主要用于实现自动补全的即时搜索体验,比如可以在当用户输入搜索关键词的时候,还没输完就可以提示用户数据库里最相关的内容。
它是通过支持前缀匹配和部分词语匹配的方式,使用户在输入过程中就能获得搜索结果。
字段结构说明
search_as_you_type 字段会自动创建以下子字段:
- 聚合操作:min(最小值)、max(最大值)、sum(求和)、value_count(计数)、avg(平均值)、percentiles(百分位数)、percentile_ranks(百分位等级)、boxplot(箱线图)、histogram(直方图)
{field_name}
: 基础字段,用于完整词语匹配,使用字段设置的分词器。{field_name}._2gram
: 用大小为 2 的 shingle token filter 分词器对 ny_field 进行分词{field_name}._3gram
: 用大小为 3 的 shingle token filter 分词器对 ny_field 进行分词{field_name}._index_prefix
: 用 edge ngram token filter 包装 my_field._3gram 的分词器
使用注意
- 可以通过设置 max_shingle_size 参数(默认为 3)来控制生成的子字段数量。max_shingle_size 参数越大,子字段越多,默认 3 个字段能覆盖大部分的场景。
- search-as-you-type 字段索引空间占用较大,因为需要存储多个分词器的结果。
前缀查询(prefix)优化机制
search_as_you_type 字段在处理前缀查询时有特殊的优化。当对根字段或其子字段进行前缀查询时,查询会被重写为针对 ._index_prefix 子字段的 term 查询,这比传统的文本字段前缀查询更高效
._index_prefix 子字段的分析器会对分词结果进行特殊处理:
- 不仅索引常规的 n-gram 分词结果
- 还会索引字段值词条的前缀,即使这些词条不会出现在 n-gram 子字段中
例如,对于文本 "quick brown fox",在 max_shingle_size 为 3 的情况下:不仅会索引会索引"quick" "brown" "fox",还会索引这些此项的前缀,这确保了字段中所有词条都能支持自动完成功能,即使这些词条组合并不存在于 ._3gram 子字段中
小结
这里我们只是简要的介绍了一下新增字段类型的设计背景和原理,并没有深入展开挖掘新增字段的性能场景或者奇思妙用,比如 wildcard 与 ngram 颗粒度性能对比,直方图数据和 pipeline 进行日志分析的组合等等。大家可以根据实际的需求场景进行深度挖掘。
推荐阅读
- [谈谈 ES 6.8 到 7.10 的功能变迁(1)- 性能优化篇](https://infinilabs.cn/blog/202 ... part-1)
- [谈谈 ES 6.8 到 7.10 的功能变迁(3)- 查询方法篇](https://infinilabs.cn/blog/202 ... part-3)
- [谈谈 ES 6.8 到 7.10 的功能变迁(4)- 聚合功能篇](https://infinilabs.cn/blog/202 ... part-4)
- [谈谈 ES 6.8 到 7.10 的功能变迁(5)- 任务和集群管理](https://infinilabs.cn/blog/202 ... part-5)
- [谈谈 ES 6.8 到 7.10 的功能变迁(6)- 其他](https://infinilabs.cn/blog/202 ... part-6)
关于极限科技(INFINI Labs)

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。
极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。
官网:<https://infinilabs.cn>
作者:金多安,极限科技(INFINI Labs)搜索运维专家,Elastic 认证专家,搜索客社区日报责任编辑。一直从事与搜索运维相关的工作,日常会去挖掘 ES / Lucene 方向的搜索技术原理,保持搜索相关技术发展的关注。
【搜索客社区日报】第2028期 (2025-04-24)
社区日报 • Se7en 发表了文章 • 0 个评论 • 930 次浏览 • 4 天前
https://mp.weixin.qq.com/s/2tYO1z5pt-nU6duANzDlbg
2.分布式数据库是伪需求
https://mp.weixin.qq.com/s/FNhTCZk-SBVQkYhQ3zi_-g
3.使用 LangChain + Higress + Elasticsearch 构建 RAG 应用
https://mp.weixin.qq.com/s/NByw3E2Tl53YOslBUZKAkw
4.MCP协议重大升级,Spring AI Alibaba联合Higress发布业界首个Streamable HTTP实现方案
https://mp.weixin.qq.com/s/wZ47ZETmjO0RwsJIbCFdJw
5.MCP云托管最优解,揭秘国内最大MCP中文社区背后的运行时
https://mp.weixin.qq.com/s/TzLRQWHQd5svAiwp2zlIGA
编辑:Se7en
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2027期 (2025-04-23)
社区日报 • kin122 发表了文章 • 0 个评论 • 1071 次浏览 • 5 天前
https://blog.csdn.net/UbuntuTo ... 18516
2.又来一个挑战 ElasticSearch 的,初识 SigLens
https://zhuanlan.zhihu.com/p/1897571712566027886
3.把 CSV 文件摄入到 Elasticsearch 中 - CSVES
https://zhuanlan.zhihu.com/p/1895418234372613962
编辑:kin122
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2026期 (2024-04-22)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 1341 次浏览 • 2025-04-22 10:09
https://medium.com/%40joseph5/ ... e0d63
2. 让大模型陪你一起学习吗?(需要梯子)
https://medium.com/poatek/unlo ... 432c5
3. ES 监控工具集,总有一款适合你(需要梯子)
https://medium.com/%40tumersev ... 4ad57
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
搜索服务统一治理(跨引擎多个集群监控管理、流量管控、服务编排)【Workshop 第一期 - 北京站】
活动 • INFINI Labs 小助手 发表了文章 • 0 个评论 • 1392 次浏览 • 2025-04-21 15:21
快来与 INFINI Labs 的技术专家面对面,第一时间了解 INFINI Labs 的发布最新产品和功能特性,通过动手实战,快速掌握最前沿的搜索技术,并用于实际项目中。活动免费,欢迎报名参加。
活动时间:2025 年 5 月 15 日 13:30~17:30
活动地点:北京市海淀区 Wework 辉煌时代大厦 3 楼 3E 会议室
活动海报
活动内容
1、搜索服务统一治理
环境搭建:INFINI Console、Easysearch、Agent、Email
- 多集群监控管理:生命周期保留期限调整、删除老的索引、rollover
- 多集群监控告警:告警监控数据、告警业务数据
- 多集群日志查看:实时日志查看
2、流量管控
环境搭建:INFINI Gateway
- Easysearch 节点限速
- Easysearch 索引限速
- Easysearch 分片限速
- Gateway 限速
3、服务编排
环境搭建:安装K8S、INFINI Cloud
- INFINI Cloud 安装
- INFINI Cloud 发布 Easysearch 集群
- INFINI Cloud 增加 Easysearch 节点
- INFINI Cloud 扩容 Easysearch 资源
参会提示
- 请务必自备电脑(Windows 系统环境请提前安装好 Linux 虚拟机)
- 请提前在 INFINI Labs 官网下载对应平台最新安装包(INFINI Easysearch、INFINI Gateway、INFINI Console)
- 下载地址:https://www.infinilabs.com/download
- 如有任何疑问可添加 INFINI Labs 小助手(微信号: INFINI-Labs)进行联系
【搜索客社区日报】第2025期 (2025-04-21)
社区日报 • Muses 发表了文章 • 0 个评论 • 1411 次浏览 • 2025-04-21 14:23
https://mp.weixin.qq.com/s/8I9CL8E4t1LgxB7ao06J4A
2、MCP 实践:基于 MCP 架构实现知识库答疑系统
https://mp.weixin.qq.com/s/ETmbEAE7lNligcM_A_GF8A
3、Easysearch 迁移数据之 Reindex From Remote
https://infinilabs.cn/blog/202 ... mote/
4、给AI装上“万能双手”的协议,小白也能玩转智能工具-一文搞懂MCP
https://blog.csdn.net/sjw89082 ... 99039
5、【视频上新】Coco AI 部署及使用详解
https://mp.weixin.qq.com/s/7CkceoXg8WYxqlFQK9_waw
编辑:Muse
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2024期 (2025-04-17)
社区日报 • Se7en 发表了文章 • 0 个评论 • 2045 次浏览 • 2025-04-17 15:34
https://www.elastic.co/search- ... earch
2.使用 Agent、LLM 和 RAG 构建你的第二个大脑 AI 助手
https://github.com/decodingml/ ... ourse
3.我用 Cursor 和 DevBox 业余时间开发了一个 Web 防火墙
https://mp.weixin.qq.com/s/KwhulGZW9mSgA1sti61iZg
4.V0创始人:从设计图到代码,AI绝对能搞定。翻译类的代码任务,都应该交给AI去干
https://mp.weixin.qq.com/s/qQ9Y9pDvxB6xPkdaOGGzDg
编辑:Se7en
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2023期 (2025-04-16)
社区日报 • kin122 发表了文章 • 0 个评论 • 2243 次浏览 • 2025-04-16 13:27
https://zhuanlan.zhihu.com/p/668706342
2.Elasticsearch BBQ 与 OpenSearch FAISS:向量搜索性能对比
https://blog.csdn.net/UbuntuTo ... 64172
3.Elasticsearch 与 OpenSearch:解开向量搜索性能差距
https://zhuanlan.zhihu.com/p/719251376
编辑:kin122
更多资讯:http://news.searchkit.cn
Easysearch Rollup 相比 OpenSearch Rollup 的优势分析
Easysearch • INFINI Labs 小助手 发表了文章 • 0 个评论 • 2236 次浏览 • 2025-04-16 11:56
背景
在处理时序数据时,Rollup 功能通过数据聚合显著降低存储成本,并提升查询性能。Easysearch 与 OpenSearch 均提供了 Rollup 能力,但在多个关键维度上,[Easysearch Rollup](https://infinilabs.cn/blog/202 ... ollup/) 展现出更优的表现。本文将从查询体验、索引管理、聚合能力、性能优化和任务管理五个方面,分析 Easysearch Rollup 相较于 OpenSearch Rollup 的优势。
---
Easysearch vs OpenSearch
1. 查询体验:标准接口与无缝集成
Easysearch Rollup 支持通过标准的 _search
API 查询原始索引,系统自动融合 Rollup 数据,用户无需变更现有代码或使用专用查询端点。相比之下,OpenSearch Rollup 虽然使用标准查询语法,但需要用户显式指定 Rollup 索引,无法自动结合原始数据,在需要同时访问原始与聚合数据的场景下显得更为繁琐。
- 差异:Easysearch 支持自动融合原始与 Rollup 数据,OpenSearch 需手动指定索引。
- 影响:Easysearch 显著降低了查询逻辑的复杂性和开发维护成本。
---
2. 索引管理:自动化与扩展能力
Easysearch Rollup 提供自动索引滚动功能,可通过rollup.index_max_docs.
配置项为不同的目标 Rollup 索引设置文档数上限,触发新索引的动态创建,显著简化管理流程。此外,配置中支持使用变量(如{{ctx.source_index}}
)动态生成目标索引名,便于多个任务复用同一模板,批量扩展 Rollup 任务时更加高效和灵活。
相比之下,OpenSearch Rollup 依赖 Index State Management(ISM)策略或手动操作进行索引切换,配置复杂、监控成本高,且在大规模任务部署时缺乏灵活的模板化机制。
- 差异:Easysearch 提供内建的自动滚动机制,OpenSearch 依赖外部策略或手动配置。
- 影响:Easysearch 更易于统一管理和大规模扩展,运维成本更低。
---
3. 聚合能力:更广泛的聚合类型支持
Easysearch Rollup 支持丰富的聚合类型,包括数值字段的avg
、sum
、max
、min
、percentiles
,关键词字段的terms
,日期字段的date_histogram
与date_range
,还支持filter
聚合与special_metrics
(可自定义聚合字段和方式)等高级功能。OpenSearch Rollup 支持的聚合类型相对有限,不支持date_range
、filter
等复杂聚合表达式。
- 差异:Easysearch 提供更全面的聚合能力,OpenSearch 仅支持基础聚合。
- 影响:Easysearch 更适合构建复杂的时序分析任务,满足更广泛的业务需求。
---
4. 性能优化:精细化配置与资源控制
Easysearch Rollup 提供多种性能优化选项,例如ROLLUP_SEARCH_MAX_COUNT
控制并发查询数,rollup.hours_before
限制回溯时间范围,write_optimization
和field_abbr
用于优化写入效率与运行时的内存占用。而 OpenSearch Rollup 缺乏类似的专用配置项,主要依赖通用的集群参数,灵活性与精细度较低。
- 差异:Easysearch 提供针对 Rollup 场景的专属优化选项,OpenSearch 优化能力较通用。
- 影响:Easysearch 在资源使用效率、查询性能和成本控制方面更具优势。
---
5. 任务管理:批量控制与更高灵活性
Easysearch Rollup 支持使用通配符进行任务批量管理,且新建任务默认处于非激活状态,用户可按需启用。而 OpenSearch Rollup 中,任务默认立即启用,管理粒度较粗,仅支持单个任务的启停与修改,缺乏批量操作能力。
- 差异:Easysearch 支持批量任务管理与按需启用,OpenSearch 功能较为基础。
- 影响:Easysearch 在多任务环境下提供更高的管理效率和控制能力。
---
实战示例:节点统计 Rollup 配置
以下是一个 Easysearch Rollup 任务的配置示例:
json<br /> {<br /> "rollup": {<br /> "source_index": ".infini_metrics",<br /> "target_index": "rollup_node_stats_{{ctx.source_index}}",<br /> "timestamp": "timestamp",<br /> "continuous": true,<br /> "page_size": 200,<br /> "cron": "*/5 1-23 * * *",<br /> "interval": "1m",<br /> "identity": ["metadata.labels.cluster_id", "metadata.labels.node_id"],<br /> "stats": [{ "max": {} }, { "min": {} }, { "value_count": {} }],<br /> "special_metrics": [<br /> {<br /> "source_field": "payload.elasticsearch.node_stats.jvm.mem.heap_used_in_bytes",<br /> "metrics": [{ "avg": {} }, { "max": {} }, { "min": {} }]<br /> }<br /> ],<br /> "write_optimization": true<br /> }<br /> }<br />
- 亮点:支持自动索引滚动、标准 API 查询、
special_metrics
高级聚合与写入优化等特性。
---
总结
综合来看,Easysearch Rollup 在以下方面优于 OpenSearch Rollup:
- 查询接口的兼容性与无感知集成
- 自动化的索引管理与扩展能力
- 更丰富的聚合类型与表达能力
- 针对性更强的性能优化参数
- 灵活高效的任务批量管理机制
这些优势使 Easysearch Rollup 更加适用于复杂、多样化的时序数据处理场景,特别是在对性能、扩展性与运维效率有较高要求的系统中表现出色。如果你正在寻找一款功能全面、易于管理的 Rollup 解决方案,Easysearch 是一个值得重点考虑的选择。
关于 Easysearch

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
官网文档:<https://docs.infinilabs.com/easysearch>
作者:张磊,极限科技(INFINI Labs)搜索引擎研发负责人,对 Elasticsearch 和 Lucene 源码比较熟悉,目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
原文:https://infinilabs.cn/blog/202 ... llup/