文本+稠密向量混合查询最佳实践

背景介绍

RAG和语义搜索场景中,文本倒排索引和稠密向量的结合使用是一种常见的方法,用于高效地进行文本检索和相似性搜索。这种组合方式结合了倒排索引的快速检索能力和稠密向量的语义表示能力。

购买OS向量检索版实例

购买实例可参考购买OpenSearch向量检索版实例

配置实例

新购买的实例,在其详情页中,实例状态为“待配置”,并且会自动部署一个与购买的查询节点和数据节点的个数及规格一致的引擎,之后需要为该实例配置表信息>数据同步>字段配置>索引结构,之后等待索引重建完成即可正常搜索。

1. 表基础信息

表管理点击“表添加",输入表名称,设置数据分片数数据更新资源数,并选择场景模板:

image

配置说明

  • 表名称:可自定义。

  • 数据分片数:分片数设置时,请填写不超过256的正整数, 用于提升全量构建速度、单次查询性能。(部分存量实例,仍需各索引表分片数保持一致;或至少一个索引表分片数为1,其余索引表分片数一致)

  • 数据更新资源数:数据更新所用资源数,每个索引默认免费提供248G的更新资源,超出免费额度的资源将产生费用,详情可参考向量检索版计费概述

2. 数据同步

配置数据源(目前支持的数据源有OSS数据源、MaxCompute数据源、API推送数据源和数据湖构建(DLF)),这里以OSS数据源为例,数据源类型选择对象存储OSS + API,设置OSS路径、OSS存储空间(Bucket)、选择数据格式之后可选择校验,通过后可点击下一步:

cn向量数据同步.png

3. 字段配置

文本+稠密向量混合检索场景需要配置如下字段:主键(id)、稠密向量(vector)与文本倒排字段(title)。

image

字段配置说明:

  • 必选字段:主键字段和向量字段,主键字段为intstring类型并且需要勾选主键按钮,

  • 向量字段为必选字段,可多选,该字段为向量数据,校验字段类型为多值FLOAT。

  • 字段类型选择TEXT,自动创建同名文本倒排索引。

4. 索引结构

配置说明

  • 向量索引

    • 索引名称:必填,可自定义

    • 混合检索:开启需要再配置稀疏向量下标与稀疏向量值。

    • 向量维度:配置稠密向量维度。

    • 距离类型:支持InnerProduct(内积距离,分数越大越相关)与SquareEuclidean(欧式距离,分数越小越相关)。

    • 实时索引:可选truefalse。

    • 向量索引算法:支持Liner、HNSW、QGraphQC,算法详情可参考向量介绍

    • 高级配置,向量索引需要单独配置参数,详情可参考向量索引通用配置

      image

  • 其他索引类型

    对字段类型选择TEXT的参数,自动构建索引,索引类型为普通索引。

    image

  • 索引全局配置

    可设置文档过期自动清理策略。

5. 确认创建

索引配置完成后,点击确认创建

6. 变更历史

实例管理-变更历史-数据源变更,可以看到创建表及新增索引及索引重建的所有FSM,全部完成之后引擎搭建完成,可以开始查询测试:

image

查询语法

倒排索引