一、2. 向量搜索的应用场景
向量搜索不仅仅是技术升级,更是构建智能应用的基石,主要应用场景包括:
·语义搜索:突破传统关键字搜索的限制,在语义上搜索相近的内容。
·精准推荐:根据用户偏好或当前浏览内容的语义,推荐相似商品或文章。
·跨模态检索:实现文搜图、图搜图、以及音视频搜索等跨模态搜索体验。
·智能问答:作为 RAG(检索增强生成)架构的核心,为大型语言模型提供精准、相关的知识来源。
基于此,腾讯云 ES 向量搜索提供了一套将数据转化为深刻语义洞察的核心工具,可以帮助你构建更智能、更懂用户意图的现代AI搜索应用。
二、ES 向量搜索介绍
作为搜索领域领军者,ES 已从全文搜索演进为文本+向量混合搜索的 AI 搜索引擎,在 Lucene 和 ES 内核层面原生支持向量搜索技术。
ES 的核心优势在于,它是一款可以同时支持文本搜索、向量搜索、聚合分析、AI 集成的技术栈,这使得它显著区分于传统向量数据库,详情请参见 ES 与常见向量数据库能力对比。
三、1. 向量搜索算法
ES 采用 KNN 搜索来实现向量搜索,它根据语义而非精确的关键词匹配来检索结果。其基本原理是,将搜索请求中的查询向量与待检索向量集合中的向量进行比较,使用余弦相似度或L2范数等相似度度量方法评估其距离,距离越近相似度越高,从而找到与查询向量最接近的k个向量。 ES 支持两种 KNN 搜索方法:
| 搜索方法 | 适用场景 | 详细介绍 |
| 精确的暴力 KNN | 小型数据集或需要精确评分的情况,一般向量规模在十万以内。 | 这是一种暴力扫描方法,会逐个比较查询向量和待检索向量集合,找出符合条件的全部近邻向量,虽然精度高,但是效率低,会消耗大量的资源和时间。它使用 script_score 来执行带有向量函数的查询。 |
| 近似最近邻 KNN | 大多数生产工作负载,支持十亿到百亿向量级别。 | 一般称为 ANN,针对暴力 KNN 的弊端,近邻 KNN 算法会要求索引提前对待检索向量集合进行排序组织,算法重点在于更高效率的找到前K个相似性结果,近邻KNN搜索的吞吐量、内存使用量和搜索准确性可能会因选择的索引类型而不同,你需要在搜索性能和准确性之间取得平衡。 |
四、2. 向量索引算法
·ES 主要支持 HNSW(分层可导航小世界)算法,这是一种用于高维向量相似性搜索的高效图索引算法,以其出色的搜索速度和召回率而闻名。HNSW 结合了跳表的分层思想和小世界网络的“捷径”特性。它构建一个多层图结构,顶层包含少量节点和长距离连接(用于快速导航),底层包含所有节点和短距离连接(用于精细搜索)。这种设计使搜索复杂度达到近似对数级别。在 HNSW 的搜索流程中,一个搜索会从顶层开始,贪婪地移动到最近邻节点,找到局部最小值后下沉到下一层继续搜索,直至最底层。这种方法有效避免了传统图搜索易陷入局部最优的问题。
·ES 在9.2版本支持了 DiskBBQ 算法,近期我们还会持续发布更多的索引算法的支持,敬请期待。
五、3. 向量相似度算法
ES 支持如下相似度算法,你可在字段设置时指定:
| 算法 | 描述 |
| l2_norm,欧氏距离(L2距离) | 计算空间绝对距离,数值越小越相似 |
| cosine,余弦相似度 | 关注向量方向,适合语义检索 |
| dot_product,向量点积 | 兼顾方向和大小,向量须先归一化为单位向量(长度为 1) |
| max_inner_product,最大内积 | 适用于未归一化且长度有意义的向量 |
六、4. 向量搜索方式
ES 同时支持文本和向量搜索,并无缝支持两者的灵活搭配:
·向量检索:使用专门的 KNN 查询接口,可直接进行高效的近似最近邻搜索。
·混合搜索:可在向量搜索前/后,轻松叠加业务过滤条件(如分类、价格区间),无缝融合向量搜索与文本搜索。
·智能融合:可将向量搜索与全文检索(BM25)结果,通过 RRF(Reciprocal Rank Fusion)等算法智能重排序,兼顾语义相关性与关键词精确度。
七、5. AI 应用无缝集成
腾讯云 ES 提供丰富的 AI 应用开发结合能力,可助力企业高效实现语义搜索、多模态搜索,以及 RAG 应用:
·AI 应用全链路模型推理能力
·开箱即用的原子服务:提供了文档解析、切片、embedding、rerank、LLM 等在线服务。
·用机器学习节点自部署:支持在 ES 集群中增加机器学习节点,专用于模型推理。这里可以部署内置模型,也可以上传自定义模型。
·通过GPU加速推理性能:腾讯云 ES 通过自研在全球首个支持 GPU 推理,包括英伟达,以及国产 GPU 如紫霄等。
·一站式RAG构建体验:腾讯云 ES 控制台提供了一站式 RAG 构建 playground,这包括
·文档上传:在线上传文档、自动进行文档解析、切片、embedding 和入库。
·在线问答:可视化的在线问答体验,可以灵活的根据调整配置来优化问答效果,并支持多个 RAG 配置的测试比较。
·效果评估:生成对 RAG 的全面评估报告,便于发现问题并进行针对性优化。
·应用部署:支持代码导出,并支持 RAG 服务的在线部署(即将发布)。
八、6. 腾讯云 ES 的自研优势
腾讯云针对开源 ES 进行了深度自研优化,覆盖文本搜索、向量搜索、混合搜索、融合排序、推理性能、成本优化等多方面,使腾讯云 ES 成为面向 AI 搜索时代可靠的企业级技术底座。
·文本检索:传统向量数据库只支持简单的标量过滤,ES 则支持全文检索、关键字匹配、短语查询、模糊匹配、聚合分析等能力,同时可通过嵌套字段、Function Score 等有效提升召回率。在文本检索领域,腾讯云 ES 有长期的自研技术积累,如研发了查询裁剪、自适应路由、核心算子优化等,写入性能提升1倍,查询性能提升2-10倍。
·向量检索:支持 HNSW 图索引能力,同时自研 Multi-Path 查询并行化,相比传统 HNSW 算法, 在相同召回率下实现最高 4 倍加速。
·混合检索:支持 CBO 智能路径分析,提升混合搜索查询性能 30%-80%,同时内置 RRF 倒数排序算法提升,实现 10%-20% 召回率提升。
·推理服务:在产品化机器学习节点的基础上,适配英伟达、紫霄 GPU 等,支持 Embedding、Rerank、NER、Text Classification 等模型部署。
·模型能力:提供微信自研图文检索模型 Weclip、文本 Embedding 模型 Kalm、Conan、Bge 系列等,用户也可通过 Inference API 使用企业自有模型能力。