Easy-Es 2.1.0-easysearch 版本发布
Easysearch • INFINI Labs 小助手 发表了文章 • 0 个评论 • 113 次浏览 • 14 小时前

01 | 版本更新概述
经过极限科技与 Dromara 开源社区下 Easy-Es 项目的紧密合作与共同努力,我们很荣幸地联合推出 Easy-Es 2.1.0-easysearch 版本!
作为双方携手打造的第一个合作成果,本版本已正式发布:
- 源码仓库:<https://gitee.com/dromara/easy ... gt%3B
- Maven 依赖:<https://mvnrepository.com/arti ... gt%3B
本次更新的核心内容是将 Easy-Es 框架底层增加兼容极限科技自主研发的 Easysearch 搜索引擎,这标志着国产搜索引擎与国内优秀开源项目深度融合的重要里程碑,是极限科技与 Dromara 社区携手共建国产技术生态的创新实践。
02 | 迁移至 Easysearch 的背景与优势
随着国内对自主可控技术需求的日益增长,特别是在基础设施软件领域,企业对于信创合规的要求不断提升。极限科技自主研发的 Easysearch 搜索引擎具备以下显著优势:
- 国产化自主可控:完全自主研发,符合信创要求,无许可证风险,为企业提供安全可靠的技术保障
- 轻量级架构:相比传统搜索引擎,资源占用更少,启动更快速,显著降低企业运维成本
- 卓越性能表现:查询性能优异,能够满足大部分业务场景需求,用户体验流畅
- 良好兼容性:与 Elasticsearch 的 API 接口基本兼容,迁移成本较低,保护用户现有投资
基于以上优势,双方决定共同将 Easy-Es 框架底层迁移至 Easysearch,这不仅为用户提供更多选择,更是双方携手推动国产搜索引擎生态建设的重要举措。
03 | Easy-Es 框架优势
Easy-Es 框架在搜索开发领域具备以下核心优势:
- 极简代码开发:相比原生 API 可减少 50%-80% 的代码量,大幅提升开发效率。
java<br /> // 使用 Easy-Es 仅需一行代码完成查询<br /> List<Document> documents = documentMapper.selectList(<br /> EsWrappers.lambdaQuery(Document.class).eq(Document::getTitle, "测试")<br /> );<br />
- 自动索引管理:
框架提供全自动智能索引托管功能,开发者无需关心索引的创建、更新及数据迁移等复杂操作,索引全生命周期由框架自动管理,过程零停机。
- SQL 语法兼容:
支持使用 MySQL 语法完成搜索查询操作,无需学习复杂的 DSL 语句。支持 and、or、like、in 等常用 SQL 语法。
- Lambda 表达式支持:
采用 Lambda 风格编程,提供类型安全的字段访问,避免手动输入字段名可能产生的错误,提升代码可读性和开发效率。
- 无缝 Spring Boot 集成:
与 Spring Boot 生态深度集成,提供开箱即用的自动配置,无需复杂的手动配置,支持 Spring Boot Actuator 监控,完美融入企业级应用架构。
- 丰富的查询功能:
支持复杂的嵌套查询、聚合查询、范围查询、高亮显示等高级搜索功能,同时保持 API 的简洁易用,满足各种业务场景需求。
- 分布式架构支持:
完美适配 Easysearch 的分布式特性,支持集群模式部署,具备高可用性和横向扩展能力,满足企业级大规模数据处理需求。
- 成熟稳定的国产 ORM 框架:
作为 Dromara 开源社区下的顶级开源项目,Easy-Es 已在国内众多企业和项目中得到广泛应用和验证,拥有活跃的中文社区和完善的文档支持,为企业级应用提供了可靠的技术保障。
04 | 快速上手示例
1. 添加依赖
根据您使用的构建工具,选择对应的配置方式:
Maven 项目
pom.xml 配置:
```xml
11
11
2.7.0
UTF-8
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
org.dromara.easy-es
easy-es-boot-starter
2.1.0-easysearch
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-maven-plugin
${spring-boot.version}
repackage
```
**Maven 启动命令**:
```bash
# 运行应用
mvn spring-boot:run
# 编译打包
mvn clean package
```
#### Gradle 项目
**build.gradle 配置**:
```gradle
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.0'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}
group = 'org.easysearch'
version = '1.0-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
implementation 'org.dromara.easy-es:easy-es-boot-starter:2.1.0-easysearch'
implementation 'org.springframework.boot:spring-boot-starter-web'
}
```
**Gradle 启动命令**:
```bash
# 运行应用
./gradlew bootRun
# 编译打包
./gradlew clean build
```
### 2. 配置文件设置
**application.yml**(根据实际 Easysearch 部署情况修改):
```yaml
easy-es:
enable: true
# Easysearch 服务地址
address: localhost:9200
# 协议:http 或 https
schema: https
# Easysearch 用户名
username: admin
# Easysearch 密码
password: your_password_here
# 连接保持时间(毫秒)
keep-alive-millis: 18000
global-config:
# 开启彩蛋模式(启动时显示 ASCII 艺术图案)
i-kun-mode: true
# 索引处理模式:smoothly 表示平滑模式(零停机更新索引)
process-index-mode: smoothly
# 异步处理索引时是否阻塞
async-process-index-blocking: true
# 是否打印 DSL 语句(开发调试时可设为 true)
print-dsl: false
db-config:
# 下划线转驼峰
map-underscore-to-camel-case: true
# 索引前缀
index-prefix: dev_
# 主键类型:customize 表示自定义
id-type: customize
# 字段更新策略:not_empty 表示非空时才更新
field-strategy: not_empty
# 刷新策略:immediate 表示立即刷新
refresh-policy: immediate
# 开启追踪总命中数
enable-track-total-hits: true
```
### 3. 实体类定义
```java
package org.dromara.easyes.sample.entity;
import lombok.Data;
import lombok.experimental.Accessors;
import org.dromara.easyes.annotation.HighLight;
import org.dromara.easyes.annotation.IndexField;
import org.dromara.easyes.annotation.IndexId;
import org.dromara.easyes.annotation.IndexName;
import org.dromara.easyes.annotation.Settings;
import org.dromara.easyes.annotation.rely.Analyzer;
import org.dromara.easyes.annotation.rely.FieldStrategy;
import org.dromara.easyes.annotation.rely.FieldType;
import org.dromara.easyes.annotation.rely.IdType;
import java.time.LocalDateTime;
/**
* es 数据模型
*/
@Data
@Accessors(chain = true)
@Settings(shardsNum = 3, replicasNum = 2)
@IndexName(value = "easyes_document", keepGlobalPrefix = true)
public class Document {
/**
* es 中的唯一 id
*/
@IndexId(type = IdType.CUSTOMIZE)
private String id;
/**
* 文档标题,默认为 keyword 类型,可进行精确查询
*/
private String title;
/**
* 文档内容,指定为 TEXT 类型,使用 IK 分词器
* 支持高亮显示,高亮结果映射到 highlightContent 字段
*/
@HighLight(mappingField = "highlightContent")
@IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART)
private String content;
/**
* 创建者,字段策略为非空时才更新
*/
@IndexField(strategy = FieldStrategy.NOT_EMPTY)
private String creator;
/**
* 创建时间
*/
@IndexField(fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime gmtCreate;
/**
* 高亮返回值被映射的字段
*/
private String highlightContent;
/**
* 文档点赞数
*/
private Integer starNum;
/**
* 地理位置经纬度坐标,例如: "40.13933715136454,116.63441990026217"
*/
@IndexField(fieldType = FieldType.GEO_POINT)
private String location;
}
```
### 4. Mapper 接口
```java
package org.dromara.easyes.sample.mapper;
import org.dromara.easyes.core.kernel.BaseEsMapper;
import org.dromara.easyes.sample.entity.Document;
/**
* Mapper 接口,继承 BaseEsMapper 即可获得所有 CRUD 方法
*/
public interface DocumentMapper extends BaseEsMapper{
}
```
### 5. 启动类配置
```java
package org.dromara.easyes.sample;
import org.dromara.easyes.spring.annotation.EsMapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 启动类
*/
@SpringBootApplication
@EsMapperScan("org.dromara.easyes.sample.mapper")
public class EasyEsApplication {
public static void main(String[] args) {
SpringApplication.run(EasyEsApplication.class, args);
}
}
```
### 6. 业务使用示例
```java
package org.dromara.easyes.sample.controller;
import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper;
import org.dromara.easyes.sample.entity.Document;
import org.dromara.easyes.sample.mapper.DocumentMapper;
import org.easysearch.action.search.SearchResponse;
import org.easysearch.search.aggregations.Aggregations;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@RestController
public class SampleController {
@Resource
private DocumentMapper documentMapper;
/**
* 初始化插入数据
*/
@GetMapping("/insert")
public Integer insert() {
int count = 0;
// 插入 5 条测试数据
for (int i = 1; i <= 5; i++) {
Document document = new Document();
document.setId(String.valueOf(i));
document.setTitle("测试" + i);
document.setContent("测试内容" + i);
document.setCreator("创建者" + i);
document.setGmtCreate(LocalDateTime.now());
document.setStarNum(i * 10);
count += documentMapper.insert(document);
}
return count;
}
/**
* 根据标题精确查询
*/
@GetMapping("/listDocumentByTitle")
public ListlistDocumentByTitle(@RequestParam String title) {
LambdaEsQueryWrapperwrapper = new LambdaEsQueryWrapper<>();
wrapper.eq(Document::getTitle, title);
return documentMapper.selectList(wrapper);
}
/**
* 高亮搜索
*/
@GetMapping("/highlightSearch")
public ListhighlightSearch(@RequestParam String content) {
LambdaEsQueryWrapperwrapper = new LambdaEsQueryWrapper<>();
wrapper.match(Document::getContent, content);
return documentMapper.selectList(wrapper);
}
/**
* 查询所有数据
*/
@GetMapping("/selectAll")
public ListselectAll() {
LambdaEsQueryWrapperwrapper = new LambdaEsQueryWrapper<>();
return documentMapper.selectList(wrapper);
}
/**
* 聚合查询 - 按创建时间和点赞数分组统计
*/
@GetMapping("/aggByDateAndStar")
public Aggregations aggByDateAndStar() {
LambdaEsQueryWrapperwrapper = new LambdaEsQueryWrapper<>();
wrapper.groupBy(Document::getGmtCreate)
.max(Document::getStarNum)
.min(Document::getStarNum);
SearchResponse response = documentMapper.search(wrapper);
return response.getAggregations();
}
/**
* 使用 SQL 语句查询文档
*/
@GetMapping("/queryBySQL")
public String queryBySQL(@RequestParam(required = false) String title) {
String sql;
if (title != null && !title.isEmpty()) {
sql = String.format("SELECT * FROM dev_easyes_document WHERE title = '%s'", title);
} else {
sql = "SELECT * FROM dev_easyes_document LIMIT 10";
}
return documentMapper.executeSQL(sql);
}
}
```
### 7. 快速测试
启动应用后,可以通过以下接口测试:
```bash
# 1. 插入测试数据
curl http://localhost:8080/insert
# 2. 查询所有数据
curl http://localhost:8080/selectAll
# 3. 根据标题精确查询
curl "http://localhost:8080/listDocumentByTitle?title=测试1"
# 4. 高亮搜索
curl "http://localhost:8080/highlightSearch?content=测试"
# 5. SQL 查询
curl "http://localhost:8080/queryBySQL?title=测试1"
# 6. 聚合查询
curl http://localhost:8080/aggByDateAndStar
```
## 05 | 相关链接
- 极简代码开发:相比原生 API 可减少 50%-80% 的代码量,大幅提升开发效率。
- Easy-Es 官方网站:<https://easy-es.cn>
- Gitee 仓库:<https://gitee.com/dromara/easy-es>
- GitHub 仓库:<https://github.com/dromara/easy-es>
- Easysearch 官方网站:<https://infinilabs.cn/products/easysearch>
06 | 特别致谢
在此,极限科技要特别感谢 Easy-Es 项目的核心开发者“老汉”和各位贡献者和维护者们。正是因为有了你们的辛勤付出、专业精神以及对开源事业的热忱奉献,Easy-Es 项目才能在国内外获得如此广泛的认可和应用。
也感谢你们对国产技术生态建设的信任与支持。此次 Easy-Es 与 Easysearch 的深度整合,正是双方通力合作、互利共赢的最佳体现。
我们相信,在 Easy-Es 项目团队的持续推动下,国产开源软件必将迎来更加辉煌的明天。极限科技将继续致力于提供优质的国产技术解决方案,与 Easy-Es 项目团队携手共进,为中国开源生态的发展贡献更多力量!
---
关于 Easy-Es
Easy-Es(简称 EE)是一款基于 Elasticsearch(简称 ES)官方提供的 ElasticsearchClient 打造的 ORM 开发框架,在 ElasticsearchClient 的基础上,只做增强不做改变,为简化开发、提高效率而生,您如果有用过 Mybatis-Plus(简称 MP),那么您基本可以零学习成本直接上手 EE,EE 是 MP 的 ES 平替版,在有些方面甚至比 MP 更简单,同时也融入了更多 ES 独有的功能,助力您快速实现各种场景的开发。
官网:<https://www.easy-es.cn>
Easy-Es for Easysearch 是一款简化 Easysearch 国产化搜索引擎操作的开源框架,全自动智能索引托管。同时也是国内首家专门针对 Easysearch 客户端简化的工具。它简化 CRUD 及其它高阶操作,可以更好的帮助开发者减轻开发负担。底层采用 Easysearch Java Client,保证其原生性能及拓展性。
项目地址:<https://gitee.com/dromara/easy ... gt%3B
关于极限科技
极限科技(全称:极限数据(北京)科技有限公司)是一家专注于实时搜索与数据分析的软件公司。
旗下品牌:极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验,为用户提供安全、稳定、高性能的国产搜索解决方案。
官网:<https://infinilabs.cn>
作者:张磊,极限科技(INFINI Labs)搜索引擎研发负责人,对 Elasticsearch 和 Lucene 源码比较熟悉,目前主要负责公司的 Easysearch 产品的研发以及客户服务工作。
【搜索客社区日报】第2156期 (2025-12-02)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 5414 次浏览 • 2025-12-02 08:21
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)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 7356 次浏览 • 2025-12-01 20:24
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)
社区日报 • Muses 发表了文章 • 0 个评论 • 5594 次浏览 • 2025-12-01 10:25
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)
社区日报 • Fred2000 发表了文章 • 0 个评论 • 8756 次浏览 • 2025-11-28 08:29
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)
社区日报 • Se7en 发表了文章 • 0 个评论 • 6906 次浏览 • 2025-11-27 21:08
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)
社区日报 • kin122 发表了文章 • 0 个评论 • 7369 次浏览 • 2025-11-26 10:16
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)
社区日报 • Muses 发表了文章 • 0 个评论 • 7947 次浏览 • 2025-11-24 16:00
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
INFINI Labs 产品更新 | Coco AI v0.9 与 Easysearch v2.0 全新功能上线,全面支持 GitLab 合并请求(MR)自动 AI Review
资讯动态 • INFINI Labs 小助手 发表了文章 • 0 个评论 • 9585 次浏览 • 2025-11-24 00:24

INFINI Labs 产品更新发布!此次更新主要包括:Coco AI v0.9 全面支持 GitLab 合并请求(MR)自动 AI Review,并重构为插件流水线架构,新增 Neo4j、MongoDB 等 10+ 数据源连接器,开启“AI+开发”协同新范式;Easysearch v2.0 正式发布,内置轻量级管理 UI,无需依赖 Kibana,实现集群“开箱即管”,Lucene 升级至 9.12.2,性能全面提升;INFINI Console、Gateway、Agent、Loadgen v1.30 统一基于 Framework v1.3 升级,全面支持 Easysearch 2.0 与 OpenSearch 3.x,新增百分比聚合、子目录代理等关键能力。详情见 Release Notes。
Coco AI v0.9
Coco AI 是一款完全开源、跨平台的企业级智能搜索与助手系统,专为现代企业打造。它通过统一搜索入口,连接企业内外部的异构数据源,融合大模型能力,帮助团队高效访问知识,智能决策协作。
Coco AI 本次详细更新记录如下:
Coco AI 客户端 v0.9
🚀 功能特性 (Features)
- feat: 支持通过快捷键切换分组 #911
- feat: 支持从设置页面打开日志文件夹
- feat: 支持使用 home 和 end 键移动光标
- feat: 支持使用 page up 和 page down 键移动选中条
- feat: 规范化多级菜单的标签结构
- feat: 当父插件类型为 Extension 时,搜索父插件可以搜到子插件
- feat: 支持使用 modifier key 和回车对话 AI 助手
- feat: 允许在光标位于开头时返回
- feat(插件兼容性): 插件描述文件添加 minimum_coco_version 字段进行版本检查
- feat: 实现紧凑窗口模式
- feat: 实现设置项搜索延迟和本地搜索结果权重
- feat: 添加主窗口透明度设置
- feat: 添加从默认模式回答紧凑模式的延迟设置
✈️ 改进优化 (Improvements)
- refactor: 优化搜索结果的排序逻辑 #910
- style: 为图片添加深色投影 #912
- chore: 为 Web 组件添加跨域配置 #921
- refactor: 若 AXUIElementSetAttributeValue() 失败则进行重试 #924
- refactor(calculator): 若表达式为 "num => num" 格式则跳过计算 #929
- chore: 使用自定义日志目录 #930
- chore: 将 tauri_nspanel 升级至 v2.1 #933
- refactor: show_coco/hide_coco 现已在 macOS 上改用 NSPanel 的相关方法 #933
- refactor: 将 convert_pages() 流程封装为函数 #934
- refactor(post-search): 从每个查询源至少收集 2 份文档 #948
- refactor: custom_version_comparator() 现已支持语义化版本比较 #941
- chore: 让主窗口垂直居中 #959
- refactor(view extension): 通过本地 HTTP 服务器加载 HTML/资源文件 #973
🐛 问题修复(Bug Fixes)
- fix: 修复服务列表自动更新的问题 #913
- ix: 修复聊天内容重复的问题 #916
- fix: 修复固定窗口(Pinned Window)快捷键失效的问题 #917
- fix: 修复从另一显示器操作焦点窗口时,窗口管理扩展失效的问题 #919
- fix(窗口管理插件): 修复“下一个/上一个桌面”功能失效的问题 #926
- fix: 修复页面频繁闪烁的问题 #935
- fix(view extension): 修复通过快捷键打开扩展时搜索栏 UI 显示异常的问题 #938
- fix: 修复全选文本后无法删除的问题 #943
- fix: 修复在聊天和搜索页面之间切换时的抖动问题 #955
- fix: 修复重复显示登录成功提示的问题 #977
- fix: 修复 Quick AI 无法继续对话的问题 #979
Coco App 相关截图:


Coco AI 服务端 v0.9
💥 重大变更(Breaking Changes)
- refactor: 将连接器重构为基于流水线(Pipeline)模式 (#545) #545
- refactor: 重新实现安全功能;需重新运行设置程序
🚀 功能特性 (Features)
- feat: 新增 Neo4j 连接器 #539
- feat: 新增内置商店 #551
- feat: 基于 RBAC 的安全机制
- feat: 用户级数据所有权与共享功能
- feat: 管理界面增加权限校验
- feat: 新增路由权限验证
- feat: 新增用户实体卡片
- feat: 文档管理增加视图功能
- feat: 新增 Webhooks 管理界面 (#558)
- feat: 新增 GitLab 合并事件的 Webhook 处理器
- feat: 集成扩展商店
- feat: 支持编辑连接器处理器配置
- feat: 支持配置 Base Path 以自定义服务端点
- feat: 名称字段增加拼音支持
- feat: 新增 MongoDB 连接器
🐛 问题修复(Bug Fixes)
- fix: 修复切换扩展类型后重置搜索关键词的问题
- fix: 修复全屏小部件的相关问题
✈️ 改进优化 (Improvements)
- refactor: 为深色模式添加悬停背景效果
- chore: 修复文档搜索功能
- chore: 格式化日期
- refactor: 更新初始值
- chore: 修复数据源名称缺失的问题
- chore: 安装完成后隐藏弹窗
- chore: 基于框架变更进行重构
- chore: 为支持深度思考(DeepThink)获取更多文档 #577
- chore: 启用搜索后将首页更改为搜索页 #541
- chore: 更新搜索 API 以支持查询 DSL #550
- chore: 默认按创建时间排序
- chore: 调整多语言配置
- chore: 用户表单增加确认密码字段
- chore: 调整连接器类型
- chore: 调整连接器 OAuth 重定向设置
- refactor: 为集成功能进行重构
- refactor: 移除集成配置中的 Token
- chore: 编辑用户时禁用邮箱字段
- chore: 调整搜索设置
Coco Server 相关截图:



Easysearch v2.0
INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
Easysearch 本次更新如下:
💥 重大变更(Breaking Changes)
- 正式发布 Easysearch 2.0 版本,底层 Lucene 更新到 9.12.2
- 新增 ui 插件,为 Easysearch 提供了轻量级界面化管理功能,不再依赖第三方对集群进行管理,真正做到开箱即用
🚀 功能特性 (Features)
- 兼容 1.15.x 版本的索引,可无缝升级
- 新增 UI 插件,涵盖从集群,节点,索引,到分片等不同维度的监控和管理功能
- 支持关闭 security 进入 UI
✈️ 改进优化 (Improvements)
- range 查询,按数字类型字段排序,相比旧版本效率大幅提升
Easysearch UI 相关截图:



Console v1.30
INFINI Console 是一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管,企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。
Console 本次详细更新记录如下:
🚀 功能特性 (Features)
- feat: 支持百分比聚合
- feat: 为初始化管理员用户增加密码强度校验 (#250)
- feat: 支持 Nginx 代理下的子目录路径 (#243)
🐛 问题修复(Bug Fixes)
- fix: 修复了索引映射 (mapping) 在滚动查询 (scroll) 后不正确的问题 (#248)
- fix: 修复索引 mapping 在滚动操作之后不对的问题
- fix: 修复集群监控设置显示错误
✈️ 改进优化 (Improvements)
- chore: 删除集群后减少 Agent 上报异常错误日志输出 (#258)
- 此版本包含了底层 Framework v1.3 的更新,解决了一些常见问题,并增强了整体稳定性和性能。虽然 Console 本身没有直接的变更,但从 Framework 中继承的改进间接地使 Console 受益。
Gateway v1.30
INFINI Gateway 是一个开源的面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway 可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。
Gateway 本次更新如下:
🚀 功能特性 (Features)
- feat(rewrite_to_bulk):使文档更新兼容 Elasticsearch 6.x (#112)
🐛 问题修复(Bug Fixes)
- fix: 修复心跳连接的潜在泄漏问题 (#107)
✈️ 改进优化 (Improvements)
- 改进 ReverseProxy 的锁机制和节点发现逻辑 (#111)
- 此版本包含了底层 Framework v1.3 的更新,解决了一些常见问题,并增强了整体稳定性和性能。虽然 Gateway 本身没有直接的变更,但从 Framework 中继承的改进间接地使 Gateway 受益。
Agent v1.30
INFINI Agent 负责采集和上传 Elasticsearch, Easysearch, Opensearch 集群的日志和指标信息,通过 INFINI Console 管理,支持主流操作系统和平台,安装包轻量且无任何外部依赖,可以快速方便地安装。
Agent 本次更新如下:
🚀 功能特性 (Features)
在 Kubernetes 环境下通过环境变量 http.port 探测 Easysearch 的 HTTP 端口
✈️ 改进优化 (Improvements)
- 此版本包含了底层 Framework v1.3 的更新,解决了一些常见问题,并增强了整体稳定性和性能。虽然 Agent 本身没有直接的变更,但从 Framework 中继承的改进间接地使 Agent 受益。
Loadgen v1.30
INFINI Loadgen 是一款开源的专为 Easysearch、Elasticsearch、OpenSearch 设计的轻量级性能测试工具。
Loadgen 本次更新如下:
✈️ 改进优化 (Improvements)
- 此版本包含了底层 Framework v1.3 的更新,解决了一些常见问题,并增强了整体稳定性和性能。虽然 Loadgen 本身没有直接的变更,但从 Framework 中继承的改进间接地使 Loadgen 受益。
Framework 1.3.0
INFINI Framework 是 INFINI Labs 基于 Golang 的产品的核心基础,已开源。该框架以开发者为中心设计,简化了构建高性能、可扩展且可靠的应用程序的过程。
Framework 本次更新如下:
🚀 功能特性 (Features)
- feat: add delete by query v2 #194
- feat: support aggregation queries in orm
- feat: add support for query_string query
- feat: allow to read http request body multi-times #212
- feat: add support for Elasticsearch cat allocation API
- feat: support custom write operation type for indexing_merge processor
- feat: add util to parse time with local timezone #217
- feat: add PKCS#12 certificate support for http client config
- feat: add security module, with rbac,sharing,oauth client etc.
- feat: add entity_card module
- feat: add abstract layer for user or teams search
- feat: add util to normalize folder path
- feat: add some string utils
- feat: allow force update all mappings for existing indices
- feat: add several http filters
- feat: add util to execute http requests via curl
🐛 问题修复 (Bug Fixes)
- fix: localhost/127.0.0.1 with noproxy #185
- fix: cluster metadata lost #200
- fix: fix security permission cache
- fix: fix incorrect queue capacity check
✈️ 改进 (Improvements)
- chore: less logging for session store change #180
- refactor: initialize index schema using index template
- chore: add generate secure string util func #183
- chore: add validate secure func #184
- refactor: refactoring security structs #191
- refactor: refactoring schema init logic, disable index based template #188
- chore: use safe special chars #190
- chore: reduce log with agent #193
- chore: add util to register http handler #206
- chore: allow access application settings for ui #209
- refactor: refactoring query string parser #216
- chore: update default fuzziness to 3 #215
- chore: avoid using same session name for mulit instances #221
- refactor: refactoring pipeline #222
- chore: enhance bulk indexing - stricter offset validation and improved error handling #224
- refactor: refactoring http utils #226
- refactor: refactoring search response, add score support
- refactor: refactoring ORM module, add generic security hooks
- refactor: add boolean query to orm query builder
- refactor: refactoring access_token, simplify login info
- refactor: move RegisterAllowOriginFunc to core
更多详情请查看以下各产品的 Release Notes 或联系我们的技术支持团队!
- [Coco AI App](https://docs.infinilabs.com/co ... notes/)
- [Coco AI Server](https://docs.infinilabs.com/co ... notes/)
- [INFINI Easysearch](https://docs.infinilabs.com/ea ... earch/)
- [INFINI Gateway](https://docs.infinilabs.com/ga ... notes/)
- [INFINI Console](https://docs.infinilabs.com/co ... 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/)
期待反馈
欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 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>
【搜索客社区日报】第2143期 (2025-11-10)
社区日报 • Muses 发表了文章 • 0 个评论 • 9618 次浏览 • 2025-11-21 11:23
https://elasticstack.blog.csdn ... 58980
2、使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
https://elasticstack.blog.csdn ... 18025
3、从 Kubernetes 上的 Windows 容器中摄取 IIS 日志
https://elasticstack.blog.csdn ... 41232
4、“Elasticsearch api 难用的一批”,是吗?你看最新版本的官方文档了吗?
https://mp.weixin.qq.com/s/fMES2ktGm5wqvt5RTzIsiQ
5、十分钟速通大模型原理!从函数到神经网络
https://mp.weixin.qq.com/s/NBfN36tv_7TlJBA41OkqUA
编辑:Muse
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2149期 (2025-11-21)
社区日报 • Fred2000 发表了文章 • 0 个评论 • 6729 次浏览 • 2025-11-21 09:14
https://mp.weixin.qq.com/s/MHgjrSl4XJ4MY7e4Lx0DdA
2、Zleap 技术解密:后 RAG 时代已来,SAG 重新定义 AI 搜索
https://mp.weixin.qq.com/s/sz8VfSaVy9IB67sd2Mb37Q
3、Elasticsearch 避坑指南:我在项目中总结的 14 条实用经验
https://mp.weixin.qq.com/s/L5cVKgWxAoe-JuFYgTN71g
4、yudao-cloud搜索引擎:Elasticsearch 集成与全文检索
https://blog.csdn.net/gitblog_ ... 97464
5、如何使用 INFINI Gateway 增量迁移 ES 数据
https://blog.csdn.net/yangmf20 ... 60004
编辑:Fred
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2148期 (2025-11-20)
社区日报 • Se7en 发表了文章 • 0 个评论 • 8492 次浏览 • 2025-11-20 21:04
https://mp.weixin.qq.com/s/4MjtS-qUV19mnIfMgNbEdw
2.RAG 系统里面最难搞定的是哪个部分?
https://mp.weixin.qq.com/s/Qx8j5ttoLBNZVI5WhqBBiA
3.Cohere × vLLM:共享内存让多模态推理吞吐量提升70%
https://mp.weixin.qq.com/s/--mJ81mDt0tu2jY77Tv5Rg
4.Gemini3.0发布,真有那么神?10个实测案例给你答案
https://mp.weixin.qq.com/s/pjz4nuKfizKWPWdMEDBcbg
编辑:Se7en
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2147期 (2025-11-19)
社区日报 • kin122 发表了文章 • 0 个评论 • 6090 次浏览 • 2025-11-19 09:58
https://elasticstack.blog.csdn ... 66787
2. Elasticsearch:如何在 ES|QL 中使用 FORK 及 FUSE 命令来实现混合搜索 - 9.1+
https://elasticstack.blog.csdn ... 39180
3. 一人成军?这5款人工智能工具让这一切成为现实。
https://medium.com/ai-in-plain ... 811fd
4. 多智能体生命周期模型:演示效果出色,实际生产效果糟糕。
https://medium.com/ai-in-plain ... a4b93
编辑:kin122
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2146期 (2025-11-18)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 6112 次浏览 • 2025-11-18 08:34
1. 用真实数据来体验用文本和语义搜索(需要梯子)
https://medium.com/%40robin_27 ... 5e760
2. 没想到吧,还能拿时序index来提升搜索性能(需要梯子)
https://medium.com/engineering ... a3036
3. 拿docker在家撸个ELK集群玩玩吧(需要梯子)
https://medium.com/%40dipakras ... b32fe
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2145期 (2025-11-17)
社区日报 • Muses 发表了文章 • 0 个评论 • 5960 次浏览 • 2025-11-17 23:08
https://elasticstack.blog.csdn ... 86809
2、在 Elasticsearch 中为结构化文档配置递归分块
https://elasticstack.blog.csdn ... 22870
3、如何在 Azure AKS 上自动部署 Elasticsearch
https://elasticstack.blog.csdn ... 00954
4、Elasticsearch:如何创建知识库并使用 AI Assistant 来配置连接器
https://elasticstack.blog.csdn ... 33395
5、在 Elasticsearch 中使用 A2A 协议和 MCP 创建一个 LLM agent 新闻室
https://elasticstack.blog.csdn ... 23264
编辑:Muse
更多资讯:http://news.searchkit.cn

