三人行必有我师

INFINI Easysearch 向量搜索实战(一)

向量搜索INFINI Labs 小助手 发表了文章 • 0 个评论 • 2961 次浏览 • 5 天前 • 来自相关话题

![](https://infinilabs.cn/img/blog ... er.jpg)

[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/)。

    实战


    我们实战演示模式一,分为以下几个步骤:

    1. 建立带有向量字段的索引
    2. 创建对应的 Ingest Pipeline
    3. 写入数据到索引

      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 />

      ![](https://infinilabs.cn/img/blog ... /1.png)

      4. 检查数据


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

      ![](https://infinilabs.cn/img/blog ... /2.png)

      OK,下一步我们看看怎么方便地实现向量搜索。
      ![](https://infinilabs.cn/img/blog ... gf.png)

      ---

      关于 Easysearch


      ![](https://infinilabs.cn/img/blog ... v2.png)

      INFINI Easysearch 是一款分布式搜索引擎,支持结构化和非结构化的数据检索、全文检索、向量检索、空间地理位置信息检索、组合查询、多语种支持、语义分析和聚合分析等多种功能。

      Easysearch 基于 Lucene 构建,紧跟 Lucene 最新版本持续迭代更新,采用商用友好协议,企业可自由部署、二次开发和商业化,无协议合规风险。

      Easysearch 致力于为企业提供轻量、安全、自主可控的搜索平台,不断完善产品能力,满足更多企业级需求。

      官网:<https://easysearch.cn>;

      ---

      相关文章:

  • [Easysearch 向量搜索指南](https://docs.infinilabs.com/ea ... earch/)
  • [INFINI Easysearch 向量搜索实战(二)](https://infinilabs.cn/blog/202 ... rch-2/)

INFINI Easysearch 向量搜索实战(二)

向量搜索INFINI Labs 小助手 发表了文章 • 0 个评论 • 2958 次浏览 • 5 天前 • 来自相关话题

![](https://infinilabs.cn/img/blog ... er.jpg)

[上回](https://infinilabs.cn/blog/202 ... rch-1/) 我们通过 Ingest Pipeline 把数据在写入 [Easysearch](https://easysearch.cn) 的过程中自动转换成了向量,这次我们通过 Search Pipeline 实现查询时将查询内容转换成向量并进行查询。

Embedding 服务


这里要保持与写入时使用的模型一致。

实战


我们实战演示分为以下几个步骤:

  1. 建立 Search Pipeline
  2. 设置索引默认 Pipeline
  3. 数据查询

    建立 Search Pipeline


    plain<br /> PUT /_search/pipeline/default_model_pipeline<br /> {<br /> "rewrite_processors": [<br /> {<br /> "semantic_query_enricher" : {<br /> "description": "Sets the default embedding model",<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": "<api_key>",<br /> "default_model_id": "text-embedding-v4",<br /> "vector_field_model_id": {<br /> "text_vector": "text-embedding-v4"<br /> }<br /> }<br /> }<br /> ]<br /> }<br />

    ![](https://infinilabs.cn/img/blog ... /1.png)

    设置索引默认 Pipeline


    为了方便查询,不用每次查询都指定 Pipeline,我们设置默认值。

    plain<br /> PUT /my-index/_settings<br /> {<br /> "index.search.default_pipeline" : "default_model_pipeline"<br /> }<br />

    ![](https://infinilabs.cn/img/blog ... /2.png)

    数据查询


    使用上次写入的数据进行查询测试,但不直接查询原来的文本内容。

    plain<br /> GET /my-index/_search<br /> {<br /> "_source": "input_text",<br /> "query": {<br /> "semantic": {<br /> "text_vector": {<br /> "query_text": "非常先进高级的生产车间",<br /> "candidates": 100,<br /> "query_strategy": "LSH_COSINE"<br /> }<br /> }<br /> }<br /> }<br />

    参数解释请查看[文档](https://docs.infinilabs.com/ea ... dding/)。

    ![](https://infinilabs.cn/img/blog ... /3.png)

    OK,从上面可以看到,我们没有直接搜索原文本中的内容或关键字,但还是通过文本的语义检索到了相关内容。

    ![](https://infinilabs.cn/img/blog ... gf.png)

    ---

    关于 Easysearch


    ![](https://infinilabs.cn/img/blog ... v2.png)

    INFINI Easysearch 是一款分布式搜索引擎,支持结构化和非结构化的数据检索、全文检索、向量检索、空间地理位置信息检索、组合查询、多语种支持、语义分析和聚合分析等多种功能。

    Easysearch 基于 Lucene 构建,紧跟 Lucene 最新版本持续迭代更新,采用商用友好协议,企业可自由部署、二次开发和商业化,无协议合规风险。

    Easysearch 致力于为企业提供轻量、安全、自主可控的搜索平台,不断完善产品能力,满足更多企业级需求。

    官网:<https://easysearch.cn>;

    ---

    相关文章:

【搜索客社区日报】第2280期 (2026-08-10)

社区日报Muses 发表了文章 • 0 个评论 • 2578 次浏览 • 4 天前 • 来自相关话题

1、一个查询,三种数据源:ES|QL 子查询同时支持 FROM、TS 和 ROW
https://elasticstack.blog.csdn ... 82796

2、jina-reranker-v3.5:通过混合 Attention 和自蒸馏实现更快的 Listwise Reranking
https://elasticstack.blog.csdn ... 61932

3、让搜索成为推理引擎 ——WorkBuddy + ES 多智能体跨域数据侦探
https://mp.weixin.qq.com/s/X9kacnzSV2Mvfj7lcRDZYg

4、Elastic 的 Agent skills:让你的 AI 代理成为 Elastic 专家
https://mp.weixin.qq.com/s/xHIy_z_wUFMqhUYnTS9vnA

5、Claude Code神级技巧:让AI编程更省心
https://mp.weixin.qq.com/s/cHs53TE4MvCqnyS5lao3KA

编辑:Muse
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2280期 (2026-08-11)

社区日报God_lockin 发表了文章 • 0 个评论 • 1810 次浏览 • 3 天前 • 来自相关话题


1. 超越 JVM 堆内存!深度剖析 Elasticsearch、mmap 与 Linux Page Cache 的底层黑科技!(需要梯子)  
https://medium.com/%40ma.orojl ... ca1e0

2. 故障复盘!一次修复竟引发 K8s 节点无限暴涨?详解 ECK、EBS 与自动扩容的惊魂夜!(需要梯子)  
https://medium.com/%40sienna01 ... 0c4f5

3. 检索效果爆表!如何在 Elasticsearch 中融合 BM25、kNN 与 RRF 算法打造超强混合检索?(需要梯子)  
https://dev.to/akshay_gupta/hy ... -2k3e

4. 实战跨语言检索!看我们如何用 ES + pgvector + CIEDE2000 搞定 4 种语言与百种色名的复杂搜索!(需要梯子)  
https://dev.to/sahib_alizada/b ... -1igb

5. 揭秘黑盒机制!Elasticsearch 跨索引 JOIN 的内部底层原理与性能损耗全解!(需要梯子)  
https://medium.com/%40stephane ... e8b3a


编辑:斯蒂文  
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2281期 (2026-08-12)

社区日报kin122 发表了文章 • 0 个评论 • 1201 次浏览 • 2 天前 • 来自相关话题

1.搜索引擎如何跳过大量无效评分?——BM25 分数上界与 Block WAND
https://mp.weixin.qq.com/s/qyBzyqxeutdRKxhOTLlHrg

2.一文讲清 SQ:向量压缩、量化误差、粗排加速与最终 rerank
https://mp.weixin.qq.com/s/ST2Gm2eN4_4AZG1DOuJjEg

3.你的堆内存图表看不到的隐藏压力:AutoOps 现已监控向量堆外内存
https://blog.csdn.net/UbuntuTo ... 52973




编辑:kin122    
更多资讯:http://news.searchkit.cn

CDC、查询卸载与 AI 检索:达梦 × Easysearch 技术交流干货回顾

EasysearchINFINI Labs 小助手 发表了文章 • 0 个评论 • 155 次浏览 • 18 小时前 • 来自相关话题


在金融行业数字化转型与信创建设持续推进的背景下,如何让国产数据库更好地支撑海量数据检索、实时分析与智能应用,成为越来越多企业关注的话题。

8 月 7 日,围绕 “达梦数据库 × Easysearch 金融行业搜索与分析加速方案”,我们开展了一场技术主题分享与交流活动。 由 极限科技技术专家杨帆 从金融行业实际业务需求出发,深入介绍了[达梦数据库](https://www.dameng.com/product/DM.html)与 [Easysearch](https://easysearch.cn) 的协同架构,并围绕数据同步、查询卸载、性能优化以及国产化生态合作等问题,与参会伙伴展开了深入交流。

![](https://infinilabs.cn/img/blog ... er.png)

本次分享的核心方案,是通过 “达梦数据库 + CDC 实时同步 + Easysearch” 构建事务与检索分析分离的架构:达梦继续承担核心事务处理和主数据管理,Easysearch 则承接全文搜索、海量数据检索、多维分析以及 AI 检索等场景,让两套系统各司其职,共同提升数据服务能力。

一、为什么需要“数据库 + 搜索引擎”?


传统关系型数据库在 OLTP 场景下具有强一致性、事务处理和数据管理等优势,但当业务逐渐面临海量数据全文检索、多维聚合分析以及复杂搜索体验等需求时,单纯依赖数据库往往会面临新的挑战。

![](https://infinilabs.cn/img/blog ... e-dm-×-easysearch-technical-exchange/1.png)

例如在金融场景中,交易明细、合同与制度文件、客户信息、日志数据等都需要被快速检索;与此同时,大量报表、聚合分析和历史数据查询又可能与核心交易业务争抢 CPU、IO 等资源。

分享中提到,达梦擅长 OLTP 事务处理、强一致性、数据安全与审计等能力,而在全文检索、相关性排序以及海量检索分析等方面,则可以通过 Easysearch 进行能力补充。

因此,方案的核心思路并不是简单地“用 Easysearch 替换数据库”,而是:

让数据库专注事务,让搜索引擎专注搜索与分析。

达梦负责写入、更新、事务一致性以及主数据管理;Easysearch 则负责从海量数据中快速“找出来、关联起来”,承接搜索、聚合、向量检索及 AI 等查询型负载。

二、CDC:连接事务库与检索分析库的关键纽带


在这样的架构中,如何让达梦中的数据及时同步到 Easysearch,是大家非常关注的问题。

![](https://infinilabs.cn/img/blog ... e-dm-×-easysearch-technical-exchange/2.png)

本次方案采用 CDC 实时同步 的方式,整体链路包括三个阶段:

全量同步 → 增量同步 → 持续运行

首先将达梦存量数据同步至 Easysearch,建立数据基线;随后通过 CDC 持续捕获 INSERT、UPDATE、DELETE 等数据变化,并实时同步到 Easysearch,最终形成持续运行的数据同步链路。

在分享介绍的测试验证中,达梦 DM8 × Easysearch 已完成[兼容认证](https://infinilabs.cn/blog/202 ... cation)测试,全量同步和增量同步均验证通过;在 CDC 高压同步测试中,万级变更可在 30 秒内完成同步,并实现读写一致、无积压。

三、现场技术交流:从“方案介绍”走向“实际问题”


相比单向的技术分享,本次活动更加精彩的部分,是分享结束后的互动交流。

围绕方案在真实生产环境中的落地,参会伙伴提出了多个非常有针对性的问题,分享老师也结合方案设计和实际经验进行了逐一解答。

1. CDC 延迟一般是多少?


CDC 是整个架构实现近实时数据同步的关键,因此大家首先关注了:

从达梦发生数据变更,到 Easysearch 可以查询到数据,中间通常存在多大的延迟?

这个问题实际上不仅涉及 CDC 本身,还与源端产生变更的速度、网络、同步任务处理能力以及目标端写入性能等多个因素相关。

![](https://infinilabs.cn/img/blog ... e-dm-×-easysearch-technical-exchange/3.png)

在常规业务负载下,CDC 增量同步延迟可控制在秒级;如果业务变更量更高,可通过 Easysearch 动态扩容分片、增加 CDC 同步并发等方式进一步降低延迟,满足金融级近实时数据一致性要求。

2. 哪些查询适合留在达梦?哪些查询适合放到 Easysearch?


这是现场非常有代表性的一个问题。

实际上,“哪些数据进入 Easysearch”并不是简单按照表来划分,而更应该按照 业务访问模式和查询类型 来判断。

例如:

  • 强事务、强一致性的核心业务操作,继续留在达梦;
  • 精确查询、事务处理以及主数据维护,继续由达梦负责;
  • 全文搜索、模糊查询、相关性排序等场景,可以交给 Easysearch;
  • 海量数据检索、多维聚合分析、历史数据查询等,可以通过 Easysearch 进行查询卸载;
  • 面向 AI 的向量检索、混合检索和 RAG 等场景,则可以进一步利用 Easysearch 的搜索能力。

    这种“按负载类型进行职责分工”的方式,也是整个方案设计的核心。

    ![](https://infinilabs.cn/img/blog ... e-dm-×-easysearch-technical-exchange/5.png)

    3. 从搜索到分析:Easysearch 还能解决什么?


    除了传统的全文检索,本次分享还介绍了 Easysearch 在海量数据分析、向量检索以及 AI 场景中的应用。

    ![](https://infinilabs.cn/img/blog ... e-dm-×-easysearch-technical-exchange/6.png)

    在全文搜索方面,Easysearch 支持 IK、拼音、HanLP 等中文分词能力,并提供 BM25 相关性评分、Function Score、高亮、同义词、搜索建议等能力。

    在海量数据分析方面,则可以通过倒排索引、列式 Doc Values 以及聚合能力,承接交易明细分析、日志检索、客户行为分析以及风控等场景。

    而在 AI 场景中,Easysearch 还可以进一步提供向量检索和全文检索融合能力,为 RAG、语义搜索、智能客服、推荐以及反欺诈等应用提供检索底座。

    这意味着,数据库中的结构化数据经过同步之后,并不只是多了一个“搜索入口”,而是可以进一步形成 搜索、分析与 AI 多种数据服务能力

    4. 在国产数据库信创领域,达梦与 Easysearch 有哪些合作空间?


    二者都是信创全栈适配的国产自主产品,合作空间非常广阔:

    首先是联合解决方案落地:面向金融、运营商、政企等行业,提供“事务库 + 检索分析库”的信创标准架构,满足等保、密评要求,规避开源组件协议风险;

    其次是国产化替代场景:Easysearch 可作为 Elasticsearch 的平滑替代产品,与达梦组合形成“去 IOE + 去开源 Elastic ”的全栈信创方案,目前已在中国移动、中国一汽等标杆项目中验证;

    ![](https://infinilabs.cn/img/blog ... e-dm-×-easysearch-technical-exchange/4.png)

    此外还有AI场景拓展:二者结合可支撑金融 RAG 知识库、智能风控、语义合规审查等 AI 应用,为信创环境下的智能化转型提供底座。

    四、一次分享,也是一次技术碰撞


    从达梦数据库到 Easysearch,从 CDC 到查询卸载,再到全文搜索、海量分析和 AI 检索,本次交流虽然围绕的是一个具体的技术方案,但大家讨论的其实是一个更加普遍的问题:

    在信创和数字化转型背景下,如何让不同类型的数据基础设施发挥各自的优势,并最终服务于业务?

    达梦与 Easysearch 的组合,并不是简单的“1+1”,而是通过职责分离,让事务处理、数据管理、搜索、分析和 AI 各自发挥所长。

    技术分享有终点,技术交流没有终点。

    感谢分享嘉宾的精彩内容,也感谢每一位参会伙伴的积极参与和深度交流。

    期待下一次,我们继续围绕 搜索、数据库、数据分析、AI 与信创技术,碰撞出更多新的思路与实践。

    达梦 × Easysearch,探索国产数据基础设施协同的新可能。

    ---

    参考资源:

  • PPT 下载:<https://searchkit.cn/slides/347>;
  • 达梦官网:<https://dameng.com>;
  • Easysearch 官网:<https://easysearch.cn>;

【搜索客社区日报】第2282期 (2026-08-14)

社区日报Fred2000 发表了文章 • 0 个评论 • 149 次浏览 • 17 小时前 • 来自相关话题

1、得物知识问答:复合检索 Agent 的系统设计实践
https://my.oschina.net/u/5783135/blog/19738367

2、Easysearch 向量搜索实战(二)
https://infinilabs.cn/blog/202 ... ch-2/

3、代码内容搜索系统实践:从痛点分析到 Elasticsearch 落地
https://mp.weixin.qq.com/s/KL4Y61BHW7mBbXljWW04LQ

4、CDC、查询卸载与 AI 检索:达梦 × Easysearch 技术交流干货回顾
https://infinilabs.cn/blog/202 ... ange/

5、Elasticsearch IK 分词器使用指南
https://mp.weixin.qq.com/s/7Pir9qUG56uUf8LgTUTmqw

编辑:Fred    
更多资讯:http://news.searchkit.cn