乐于分享
好东西不私藏

AI 时代,Easysearch 系统学习指南——从 Elasticsearch 老兵到国产 搜索专家的进阶路径

AI 时代,Easysearch 系统学习指南——从 Elasticsearch 老兵到国产 搜索专家的进阶路径

AI 时代,Easysearch 系统学习指南——从 Elasticsearch 老兵到国产 AI 搜索专家的进阶路径

阅读建议:先收藏,再对着官方文档一节一节啃——本文是 Easysearch 官方文档 的"地图+导览+踩坑提醒"。


0. 先给结论(Answer First)

如果你只有 30 秒,请记住这 5 点:

  1. Easysearch ≠ Elasticsearch 换皮
    它是基于 Lucene、兼容 ES 7.10 API、由极限科技(INFINI Labs)自研的分布式 AI 搜索型数据库,定位是"轻量、安全、自主可控、AI Ready"。
  2. 学习路径只有一条主干
    基础理论 → 快速开始 → 部署 → 功能手册 → AI 集成 → 管理与运维,对应官方文档的六大顶级目录。
  3. 你的 ES 经验 90% 可复用
    Query DSL、分片副本、聚合、Mapping、REST API 几乎照搬;
    真正要新学的是:商用许可、国密/信创、向量与 Hybrid 检索语法、INFINI Console/Gateway 工具链。
  4. AI 时代的最大价值点
    原生 knn_dense_float_vector 字段 + Embedding 服务接入 + RAG 链路,让 Easysearch 直接做你 RAG 系统的检索底座,省掉一个独立向量库。
  5. 生产落地的最短路径
    用 INFINI Console 同时纳管现存 ES 集群与新建 Easysearch 集群,用 INFINI Gateway / Console 数据迁移功能做平滑迁移。

下面进入正文。

1. 它是什么:一句话定位与三层认知

1.1 官方定义(一句话)

INFINI Easysearch 是一款分布式 AI 搜索型数据库,支持结构化/非结构化数据检索、全文检索、向量检索、地理检索、组合查询、多语种、语义分析与聚合分析。

1.2 站在 ES 老兵视角的三层认知

认知层
Elasticsearch 视角
Easysearch 实质
协议层
SSPL/Elastic License,商用受限
商用友好协议
:可内部部署、二次开发、SaaS 化、闭源衍生,无传染性
内核层
Lucene + ES 7.10 之后逐步分叉
基于 Lucene,紧跟最新 Lucene 迭代;兼容 ES 7.10 API 与生态客户端
能力层
全文/聚合/SQL/向量(X-Pack 部分收费)
全文/聚合/SQL/向量+语义+多模态,加 国密 SM2/SM3/SM4信创平台适配写入规则引擎搜索管道——这些是 ES 没有或要付费的

💡 铭毅一句话总结:Easysearch = "兼容 ES 7.10 的 Lucene 内核" + "国产化与安全合规" + "AI/向量原生能力" + "INFINI 工具链生态"。

1.3 它的整体架构(来自官方文档)

熟悉 ES 的同学对这张图应该零陌生感——Easysearch 在分布式拓扑上完全延续 ES 的心智模型:Cluster / Node / Index / Shard / Replica,单分片仍建议保持在 10~50 GB。


2. 学习地图:官方文档六大顶级目录怎么读

把 docs.infinilabs.com/easysearch/main/ 想象成一棵树,主干就是 6 个 README 入口。建议按下表顺序学,不要乱跳

#
文档入口
你要解决的问题
ES 老兵节省的时间
1
产品概述
它是什么、协议、架构、基本概念
15 分钟略读
2
快速开始
装起来、连上去、跑通 CRUD
15 分钟可走完
3
基础理论
Lucene 段结构、分布式写入/搜索、BM25、并发版本
必读
,比 ES 文档更体系化
4
部署手册
Linux/Docker/Helm/Operator/信创平台/参数与调优
重点看"信创平台"和"国密配置"
5
功能手册
写入、搜索、聚合、Mapping、SQL、规则引擎
重点看向量/语义/多模态、搜索管道、规则引擎
6
AI 集成
Embedding 服务、向量工作流、RAG/LLM
AI 时代的核心增量
,必啃
+
管理手册
Easysearch UI 的索引/分片/别名/生命周期/审计/安全
老 ES 运维同学跳着读

📌 铭毅学习节奏建议

  • Day 1:1+2(概念落地 + 跑通 Demo)
  • Day 2~3:3(基础理论体系化)
  • Day 4~5:4+管理手册(部署运维)
  • Day 6~7:5+6(功能深挖 + AI 集成)——这是和 ES 拉开差距的关键两天。

3. 15 分钟跑通:ES 老兵的"零摩擦"上手

3.1 一键安装(Linux)

# 一键安装(来自官方快速开始)curl -sSL http://get.infini.cloud | bash -s -- -p easysearchcd /data/easysearch && bin/initialize.sh -schown -R easysearch:easysearch /data/easysearchsu easysearch -c "/data/easysearch/bin/easysearch -d"

⚠️ 关键差异提醒

  • 默认 HTTPS + 强制认证:和裸跑的 ES 不一样,端口仍是 9200,但 必须用 https:// 访问、必须带账号密码
  • 初始化时 admin 密码会直接打到终端日志——务必当场记下来,或提前用 EASYSEARCH_INITIAL_ADMIN_PASSWORD 环境变量预指定。

3.2 验证:你的 curl 习惯只需改一个参数

# 注意是 https,且需要 -k(跳过自签证书校验)+ -u admin:密码curl -ku admin:YOUR_PASSWORD https://localhost:9200

3.3 跑一遍最小闭环(写入 → 全文 → 过滤 → 聚合)

# 1. 写入curl -ku admin:YOUR_PASSWORD -X POST "https://localhost:9200/demo/_doc/1" \  -H 'Content-Type: application/json' \  -d '{"title":"Easysearch 入门","tags":["搜索","数据库"],"views":100}'# 2. 全文搜索curl -ku admin:YOUR_PASSWORD "https://localhost:9200/demo/_search?q=搜索"# 3. 结构化 bool + filter(语法和 ES 100% 一致)curl -ku admin:YOUR_PASSWORD -X POST "https://localhost:9200/demo/_search" \  -H 'Content-Type: application/json' \  -d '{"query":{"bool":{"must":[{"match":{"title":"搜索"}}],       "filter":[{"range":{"views":{"gte":200}}}]}}}'# 4. 聚合curl -ku admin:YOUR_PASSWORD -X POST "https://localhost:9200/demo/_search" \  -H 'Content-Type: application/json' \  -d '{"size":0,"aggs":{"tag_count":{"terms":{"field":"tags.keyword"}}}}'

🟢 结论:除了"HTTPS + 鉴权"这一个习惯差异,ES 用户写 DSL 的肌肉记忆完全可用


4. AI 时代的"杀手锏":向量、语义、Hybrid 与 RAG

这是本文的核心增量章节,也是 Easysearch 相对老版本 ES 7.10 最值得学的部分。

4.1 心智模型:BM25 ≠ 万能

来自 语义搜索官方页 的对比表,强烈建议背下来:

对比维度
全文搜索(BM25)
语义搜索(向量)
匹配方式
关键词精确/模糊匹配
向量空间相似度
同义词
需手工配同义词表
模型自动理解近义
长尾查询
词汇差异大召回率低
自然语言即可命中
多语言
依赖分词器
多语言模型天然支持
计算成本
较高(需 Embedding)

铭毅观点:BM25 和向量不是"二选一",而是 "BM25 保下限、向量提上限"——所以 Easysearch 官方力推 Hybrid 检索

4.2 三步上手语义搜索

Step 1:建一个带向量字段的索引

PUT /knowledge-base{"mappings": {"properties": {"title":   { "type""text" },"content": { "type""text" },"embedding": {"type""knn_dense_float_vector","knn":  { "dims"768 }      }    }  }}

⚠️ ES 老兵踩坑点:字段类型不是 dense_vector,而是 knn_dense_float_vector——名字不一样,参数风格也不一样。

Easysearch 向量搜索 vs Elasticsearch:别再问"兼容不兼容"了,先看这篇

Step 2:写入文档 + 向量

向量由外部 Embedding 模型(OpenAI / 通义千问 / BGE / M3E / Ollama 本地模型)算好后写进来:

Easysearch 向量检索之从原理到实战

POST /knowledge-base/_doc{"title""如何配置 Easysearch 集群安全","content""Easysearch 默认启用安全模块,支持 TLS 加密...","embedding": [0.12-0.030.88, ...]}

Step 3:kNN 查询

POST /knowledge-base/_search{"size"5,"query": {"knn_nearest_neighbors": {"field""embedding","vec":   { "values": [0.15-0.010.91, ...] },"model""lsh","similarity""cosine","candidates"50    }  }}

4.3 Hybrid 检索(生产推荐写法)

把 BM25 和 kNN 放进同一个 bool

POST /knowledge-base/_search{"size"10,"query": {"bool": {"must":   [{"knn_nearest_neighbors": {"field":"embedding","vec":{"values":[...]},"model":"lsh","similarity":"cosine","candidates":100}}],"should": [{"match": {"content""集群安全配置"}}]    }  }}

调权三种典型策略(来自官方调优章节):

4.4 Embedding 模型怎么选

模型
维度
场景
OpenAI text-embedding-3-small
1536
通用多语言
通义千问 Embedding
1024
中文优化
BGE / M3E
768
中文开源、本地化
Ollama 本地模型
384~4096
私有化部署

国产化场景下,BGE/M3E + Ollama 是合规闭环首选;公有云中文业务则推 通义千问 Embedding

4.5 完整 AI 链路:AI 集成

官方把 AI 部分拆成 3 个子页,建议按顺序读:

  1. Embedding 服务接入 — 文本/多模态 Embedding 服务对接模式
  2. 向量工作流与 Hybrid 检索 — 写入、批量导入、组合排序
  3. RAG 与 LLM 集成 — 以 Easysearch 为检索底座的问答系统

配套最佳实践还有:AI 搜索与向量检索架构、向量字段建模。

🔑 RAG 落地最关键的 3 件事

①向量维度与 Embedding 模型严格对齐;

②先做 Hybrid 再调权重,不要纯向量;

③用 搜索管道 做查询改写和重排序(Rerank)。


5. 与 ES 不一样的 8 个关键点(必看)

把"我以为和 ES 一样、结果踩坑"的高频点梳理给你:

#
关键点
ES
Easysearch
1
协议
SSPL / Elastic License
商用友好协议,衍生闭源 OK
2
默认安全
7.x 默认关,需手开
默认开
:TLS + 鉴权 + LDAP
3
向量字段类型dense_vectorknn_dense_float_vector
4
国密
原生 SM2/SM3/SM4 TLS
5
信创平台
自己折腾
官方适配
龙芯/兆芯/鲲鹏/飞腾/海光/麒麟/统信
6
写入规则引擎
需写 Ingest Pipeline + 脚本
内置规则引擎
:写入时实时打标
7
多模态搜索
8.x 后 X-Pack
原生
支持图片、音视频跨模态
8
工具链
Kibana 为主
INFINI Console + Gateway
 多集群统一纳管

6. 部署与生产运维:把它放进真实机房

就一句话,实操起来!

从 0 到 1 构建电商千人千面——基于 Easysearch 的个性化搜索与推荐系统实战