INFINI Easysearch 向量搜索实战(一)
Easysearch • INFINI Labs 小助手 发表了文章 • 0 个评论 • 39 次浏览 • 5 小时前

[Easysearch](https://easysearch.cn) 提供了强大的向量搜索能力,打破传统关键词匹配的局限,实现真正的“懂你”的语义搜索。助力企业快速构建智能推荐、图像识别和内容理解等 AI 应用,释放数据深层价值。
核心能力
| 能力 | 说明 |
| ------------------- | --------------------------------------------------------------------------------------------------------- |
| 两种向量类型 | 稠密浮点向量(knn_dense_float_vector)和稀疏布尔向量(knn_sparse_bool_vector) |
| 多种索引模型 | lsh(局部敏感哈希,近似搜索)、permutation_lsh(置换 LSH)、sparse_indexed(倒排索引)、exact(精确搜索) |
| 多种相似度 | cosine(余弦)、l1(曼哈顿距离)、l2(欧氏距离)、jaccard、hamming |
| 与全文搜索融合 | 向量字段与文本字段存储在同一索引,支持 Hybrid 混合检索 |
| function_score 集成 | 向量相似度可作为 function_score 的评分函数 |
典型应用场景
- 语义搜索:文本通过 Embedding 模型转为向量,按语义相似度检索
- RAG 检索增强生成:为大语言模型提供知识库检索能力
- 推荐系统:用户/商品特征向量的相似推荐
- 图像/多模态搜索:图像特征向量的相似检索
- 去重与异常检测:通过向量距离判断内容相似度
Embedding 服务
在使用向量搜索前,先要准备一个 Embedding 模型,支持与 OpenAI API 兼容的 embedding 接口和 Ollama embedding 接口。本文使用阿里云上的 Embedding 模型进行演示。
写入方法
方法一:写入链路嵌入(推荐)
在数据写入 Easysearch 时,通过 Ingest Pipeline 自动调用 Embedding 服务:
应用写数据 → Easysearch → Ingest Pipeline → 调用 Embedding API → 写入向量字段
优势是写入后即可搜索,无需维护外部向量化流程。需要确保集群应至少有一个节点拥有 ingest 角色。
方法二:离线批处理
在应用侧完成向量化,再将向量字段直接写入 Easysearch:
原始数据 → 应用 → 调用模型 Embedding API → 写入 Easysearch(含向量字段)
参考[文档](https://docs.infinilabs.com/ea ... earch/)。
实战
我们实战演示模式一,分为以下几个步骤:
- 建立带有向量字段的索引
- 创建对应的 Ingest Pipeline
- 写入数据到索引
1. 建立带有向量字段的索引
先建立一个带向量字段的索引,注意 dims 要与向量模型的输出匹配。
plain<br /> PUT /my-index<br /> {<br /> "mappings": {<br /> "properties": {<br /> "text_vector": {<br /> "type": "knn_dense_float_vector",<br /> "knn": {<br /> "dims": 1024,<br /> "model": "lsh",<br /> "similarity": "cosine",<br /> "L": 99,<br /> "k": 1<br /> }<br /> }<br /> }<br /> }<br /> }<br /> <br />
2. 创建对应的 Ingest Pipeline
写入数据前先建立 Ingest Pipeline,注意 vendor 必须根据使用的模型来指定,比如本文使用的是阿里云 text-embedding-v4 模型,该模型提供了 OpenAI 格式的 API 接口,这里 vendor 我们就写 openai。
plain<br /> PUT _ingest/pipeline/text-embedding-pipeline<br /> {<br /> "description": "用于生成文本嵌入向量的管道",<br /> "processors": [<br /> {<br /> "text_embedding": {<br /> "url": "<a href="https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings"" rel="nofollow" target="_blank">https://dashscope.aliyuncs.com ... ot%3B</a>,<br /> "vendor": "openai",<br /> "api_key": "xxxxxx",<br /> "text_field": "input_text",<br /> "vector_field": "text_vector",<br /> "model_id": "text-embedding-v4",<br /> "dims": 1024,<br /> "ignore_missing": false,<br /> "ignore_failure": false<br /> }<br /> }<br /> ]<br /> }<br /> <br />
text_field:指定原始文本字段,Pipeline 会将该字段的内容转换成向量。
vector_field:指定向量存储的字段,保存上面转换的向量。
3. 写入数据
plain<br /> POST /_bulk?pipeline=text-embedding-pipeline&pretty<br /> {"index": {"_index": "my-index", "_id": "1"}}<br /> {"input_text": "苹果发布了新款iPhone 15 Pro手机,搭载A17芯片"}<br /> {"index": {"_index": "my-index", "_id": "2"}}<br /> {"input_text": "特斯拉宣布将在上海建第二座超级工厂"}<br /> {"index": {"_index": "my-index", "_id": "3"}}<br /> {"input_text": "今天天气真好,阳光明媚适合去公园散步"}<br /> {"index": {"_index": "my-index", "_id": "4"}}<br /> {"input_text": "程序员用Python写了一个自动化数据清洗脚本"}<br /> {"index": {"_index": "my-index", "_id": "5"}}<br /> {"input_text": "故宫博物院推出了夏季特展,展出珍贵文物"}<br /> {"index": {"_index": "my-index", "_id": "6"}}<br /> {"input_text": "小明每天坚持跑步五公里,身体越来越健康"}<br /> {"index": {"_index": "my-index", "_id": "7"}}<br /> {"input_text": "人工智能大模型在自然语言处理领域取得突破"}<br /> {"index": {"_index": "my-index", "_id": "8"}}<br /> {"input_text": "这家咖啡店的拿铁口感丝滑,推荐给咖啡爱好者"}<br /> {"index": {"_index": "my-index", "_id": "9"}}<br /> {"input_text": "量子计算机有望在药物研发中发挥重要作用"}<br /> {"index": {"_index": "my-index", "_id": "10"}}<br /> {"input_text": "周末和朋友一起去爬山,山顶的风景美极了"}<br />

4. 检查数据
搜索索引数据,看看是否成功转换成了向量。可以看到原始数据保存在 input_text 字段中,其向量保存到了 text_vector。

OK,下一步我们看看怎么方便地实现向量搜索。

---
关于 Easysearch

INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。
官网文档:<https://docs.infinilabs.com/easysearch>
---
相关文章:
- 建立带有向量字段的索引
- [Easysearch 向量搜索指南](https://docs.infinilabs.com/ea ... earch/)
【搜索客社区日报】第2268期 (2026-07-17)
社区日报 • Fred2000 发表了文章 • 0 个评论 • 648 次浏览 • 1 天前
https://www.oschina.net/news/471754/gpt-5-6
2、Elasticsearch 深度搜索与查询 DSL 实战:精准定位数据的核心技法
https://cloud.tencent.com/deve ... 15508
3、Elaticsearch 向量迁 Easysearch:别只改字段名
https://mp.weixin.qq.com/s/hEUcF36emuFafSeOlR-dyg
4、大数据量分页,Easysearch 是如何避免性能陷阱的
https://mp.weixin.qq.com/s/BNN4wrKOeog8nRoOUaa2Vw
编辑:Fred
更多资讯:http://news.searchkit.cn
elasticsearch 7版本,鲲鹏 arm64架构进程退出
Elasticsearch • INFINI Labs 小助手 回复了问题 • 2 人关注 • 1 个回复 • 1814 次浏览 • 1 天前
【搜索客社区日报】第2267期 (2026-07-15)
社区日报 • kin122 发表了文章 • 0 个评论 • 1831 次浏览 • 3 天前
https://blog.csdn.net/UbuntuTo ... 76175
2.Semantic_text 字段默认嵌入模型变为 .jina-embeddings-v5-text-small
https://blog.csdn.net/UbuntuTo ... 31729
3.百万Token上下文窗口,正在成为Agent最大的技术负债
https://mp.weixin.qq.com/s/1N4WZHjbRsRIpqiEGDXaBw
编辑:kin122
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2265期 (2026-07-13)
社区日报 • Muses 发表了文章 • 0 个评论 • 3290 次浏览 • 5 天前
https://elasticstack.blog.csdn ... 70873
2、谁来评判评判者?在 Elasticsearch Workflows 中使用 LLM-as-a-Judge
https://elasticstack.blog.csdn ... 51391
3、如何使用 OpenTelemetry 在 Elastic 上构建搜索分析,无需额外的管道
https://elasticstack.blog.csdn ... 15352
4、Agent 评测:方法论与体系设计
https://mp.weixin.qq.com/s/7a2L-GatYYwI6s1uK9mTjA
5、一份可信来源,终结 Skill 管理混乱:Skill 治理最佳实践
https://mp.weixin.qq.com/s/b88VRdAQ2u7IhQBqvNcnVg
编辑:Muse
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2264期 (2026-07-09)
社区日报 • Se7en 发表了文章 • 0 个评论 • 5753 次浏览 • 2026-07-09 10:05
https://mp.weixin.qq.com/s/GEZFQXx3dXltS8kYvJGguw
2.用 HAMi 与 vCluster 搭建一个迷你本地 AI 工厂
https://mp.weixin.qq.com/s/NCEJ5rGIPHbepdhO_LV6NA
3. 实现搜索反馈回路
https://spinscale.de/posts/202 ... .html
编辑:Se7en
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2263期 (2026-07-08)
社区日报 • kin122 发表了文章 • 0 个评论 • 5988 次浏览 • 2026-07-08 11:52
https://mp.weixin.qq.com/s/aKZxOL_AOcJR5z5H_czYNQ
2.简短查询,正式文档: HyDE 如何在 Elasticsearch 中将语义搜索精度提升了 50%
https://blog.csdn.net/UbuntuTo ... 82914
3.不要再在账单日才发现你的 Claude 账单:Anthropic API 监控现已进入 Elastic
https://elasticstack.blog.csdn ... 40183
4.Elasticsearch 与 OpenSearch 2026:终极搜索引擎对比
https://tech-insider.org/elast ... 2026/
编辑:kin122
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2261期 (2026-07-06)
社区日报 • Muses 发表了文章 • 0 个评论 • 6540 次浏览 • 2026-07-07 12:44
https://mp.weixin.qq.com/s/DrO11iB4h_ieheu8I9uHIg
2、30分钟上手:Docker 部署 Easysearch 完整教程
https://mp.weixin.qq.com/s/g2JqCJwkVsUdMBW9ti_aHA
3、Elasticsearch:日志领域的最佳,如今也是指标领域的最佳
https://elasticstack.blog.csdn ... 78471
4、一条命令。自然语言。你的 Elasticsearch 数据,直接进入终端
https://elasticstack.blog.csdn ... 16104
5、AutoResearch-LLM:让 Agent 接手 LLM 训练优化
https://mp.weixin.qq.com/s/9qEgOV9FGk6u9_9zMLSI6A
编辑:Muse
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2262期 (2026-07-07)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 6713 次浏览 • 2026-07-07 11:28
1. 部署 Apache SeaTunnel 2.3.11 还能这么玩?手把手教你用 Docker 丝滑同步 Kafka 数据到 Hive 和 ES!(需要梯子)
https://dev.to/seatunnel/deplo ... -1kgi
2. 看清别人看不见的盲区!对话 Gigamon COO 深度解读安全与可观测性!
https://www.elastic.co/blog/gigamon-partnership
3. 可观测性架构变天了?从搜索堡垒走向统一数据库的演进之路!(需要梯子)
https://chenemiabrahams.medium ... 739eb
4. 别再怪你的 AI 智商低了,其实是你的数据底座没搭好!
https://www.elastic.co/blog/ai ... xxing
5. 降本增效大招!Elastic Observability 指标计费更新,性能更强价格更香!
https://www.elastic.co/blog/metrics-pricing
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2260期 (2026-07-03)
社区日报 • Fred2000 发表了文章 • 0 个评论 • 9395 次浏览 • 2026-07-03 09:10
https://mp.weixin.qq.com/s/m2UMBTYEPoNOyrdG1-jRDw
2、RAG 准确率上不去?先别换模型,搞清楚你的 "命中率" 死在哪里
https://www.toutiao.com/articl ... 2566/
3、Zvec:内嵌式向量检索引擎,全端低延迟向量检索解决方案
https://www.toutiao.com/articl ... 6578/
4、我如何在 Elasticsearch 中实现查询性能的深度调优
https://blog.51cto.com/u_16213567/14700530
5、Easysearch 索引胖了三成?两个 Mapping 写法我改完立刻瘦下去
https://mp.weixin.qq.com/s/5bu ... %3D17
编辑:Fred
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2259期 (2026-07-02)
社区日报 • Se7en 发表了文章 • 0 个评论 • 9978 次浏览 • 2026-07-02 09:11
https://mp.weixin.qq.com/s/2YjxvuXPNJCz7JSbilsF8w
2.英伟达力荐,小团队两个月开源一款「光速级」智能体推理引擎
https://mp.weixin.qq.com/s/dx8T76mEGxbySqTH88X94g
3.万字深度|做了8年向量数据库后,我们决定为Milvus重构AI时代的存储引擎
https://mp.weixin.qq.com/s/8hnMM3tdzWd6UrmrtonYnw
编辑:Se7en
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2258期 (2026-07-01)
社区日报 • kin122 发表了文章 • 0 个评论 • 10395 次浏览 • 2026-07-01 11:31
https://mp.weixin.qq.com/s/zSjNWjnDuZqI_teie8Z47A
2.向量、索引、Faiss、Milvus 到底是什么关系
https://mp.weixin.qq.com/s/Iu0RZgewZ1HhOt27oKLP_A
3.DiskANN:面向 SSD 的大规模图索引
https://mp.weixin.qq.com/s/fABsTYNab_MA_gal_tqRdQ
4.Elasticsearch 不愿公开命名的 hash(),以及证明它是 Murmur3 的 12 个字节
https://elasticstack.blog.csdn ... 30194
5.jina-clip-v2 为 Elasticsearch 带来覆盖 89 种语言的文本到图像搜索,无需 GPU
https://elasticstack.blog.csdn ... 56813
编辑:kin122
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2257期 (2026-06-30)
社区日报 • God_lockin 发表了文章 • 0 个评论 • 11200 次浏览 • 2026-06-30 08:28
https://dev.to/u11d/reciprocal ... -56jk
2. 打通任督二脉!手把手教你用 Bold Data Hub 将 MySQL 丝滑同步至 Elasticsearch!(需要梯子)
https://dev.to/boldbi/integrat ... -3g63
3. Elastic 变天了?CEO Ash Kulkarni 内部组织架构调整全员信解读!
https://www.elastic.co/blog/ce ... oyees
4. 安全防线升级!迁移到 Elastic Security 助数字安全公司降低 85% 故障,UnderDefense 实战分享!
https://www.elastic.co/blog/el ... fense
5. 免费版 ES 上的 RRF:超实用的开源许可证规避指南与避坑姿势!(需要梯子)
https://medium.com/u11d-tech-b ... e285f
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2256期 (2026-06-29)
社区日报 • Muses 发表了文章 • 0 个评论 • 11344 次浏览 • 2026-06-29 16:14
https://elasticstack.blog.csdn ... 28311
2、与你的 Elasticsearch 数据对话:使用 Google ADK 和 MCP 构建一个实时语音 agent ,分为 3 个组件
https://blog.csdn.net/UbuntuTo ... 83519
3、火种&起源:一个运营从0到1搭建CI自动化流水线的实战记录
https://mp.weixin.qq.com/s/GNEshVzcCV5HvGJXSQ4W6w
4、Easysearch 索引生命周期管理(ILM):自动处理冷热数据
https://mp.weixin.qq.com/s/5Tb0bFNBE1gfjyQ7xcZq7g
5、Easysearch 性能优化实践:高并发、大数据量下的索引与搜索优化
https://mp.weixin.qq.com/s/webvXtf6PyMkXTnb_x1HtQ
编辑:Muse
更多资讯:http://news.searchkit.cn
【搜索客社区日报】第2255期 (2026-06-26)
社区日报 • Fred2000 发表了文章 • 0 个评论 • 13067 次浏览 • 2026-06-26 17:04
https://mp.weixin.qq.com/s/YxRGwfHImAI8hO5Xf499tA
2、MongoDB 全文索引 与 展示查询数据的一部分,提高性能
https://mp.weixin.qq.com/s/LqChlWycoTYx-1f4anwbSA
3、Easysearch 索引生命周期管理(ILM):自动处理冷热数据
https://mp.weixin.qq.com/s/5Tb0bFNBE1gfjyQ7xcZq7g
4、我如何在 Elasticsearch 中实现查询性能的深度调优
https://blog.51cto.com/u_16213567/14700530
5、Easysearch vs MySQL
https://easysearch.cn/knowledg ... rison
编辑:Fred
更多资讯:http://news.searchkit.cn

