Link Search Menu Expand Document Documentation Menu

概念

本页面定义了 OpenSearch 中与向量搜索相关的关键术语和技术。

向量表示

  • 向量嵌入是数据(如文本、图像或音频)的数值表示,它们将含义或特征编码到高维空间中。这些嵌入使得基于相似性的搜索和机器学习 (ML) 任务成为可能。

  • 密集向量是高维数值表示,其中大多数元素具有非零值。它们通常由深度学习模型生成,并用于语义搜索和机器学习应用。

  • 稀疏向量包含大部分零值,通常用于神经稀疏搜索等技术中,以高效地表示和检索信息。

向量搜索基础

  • 向量搜索,也称为相似性搜索最近邻搜索,是一种查找与给定输入向量最相似项目的技术。它广泛应用于推荐系统、图像检索和自然语言处理等领域。

  • 空间定义了两个向量之间如何测量相似性或距离。不同的空间使用不同的距离度量,例如欧几里得距离或余弦相似度,来确定向量之间的相似程度。

  • 方法指在近似 k-NN 搜索中,用于在索引期间组织向量数据和在搜索期间检索相关结果的算法。不同的方法在准确性、速度和内存使用之间取得平衡。

  • 引擎是实现向量搜索方法的底层库。它决定了在相似性搜索操作期间如何索引、存储和检索向量。

  • k-最近邻 (k-NN) 搜索在索引中查找与给定查询向量最相似的 k 个向量。相似性根据指定的距离度量确定。

  • 精确 k-NN 搜索在查询向量和索引中的所有向量之间执行暴力比较,计算精确的最近邻。这种方法提供高准确性,但对于大型数据集来说计算成本可能很高。

  • 近似 k-NN 搜索通过使用索引技术来减少计算复杂性,这些技术可以在保持高准确性的同时加速搜索操作。这些方法重构索引或降低向量维度以提高性能。

查询类型

搜索技术

  • 语义搜索解释查询的意图和上下文含义,而不是仅仅依赖精确的关键词匹配。这种方法提高了搜索结果的相关性,特别是对于自然语言查询。

  • 混合搜索将词法(基于关键词)搜索与语义(基于向量)搜索结合,以提高搜索相关性。这种方法确保结果同时包含精确的关键词匹配和概念上相似的内容。

  • 多模态搜索使您能够跨多种类型的数据(如文本和图像)进行搜索。它允许以一种格式(例如,文本)的查询检索另一种格式(例如,图像)的结果。

  • 径向搜索检索查询向量在指定距离或相似度阈值内的所有向量。它适用于需要查找给定范围内的所有相关匹配,而不是检索固定数量最近邻的任务。

  • 神经稀疏搜索使用倒排索引(类似于 BM25),根据稀疏向量表示高效检索相关文档。这种方法在融入语义理解的同时,保持了传统词法搜索的效率。

  • 对话式搜索允许您使用自然语言查询与搜索系统交互,并通过后续问题细化结果。这种方法通过使搜索更直观和交互式来增强用户体验。

  • 检索增强生成 (RAG)通过从索引中检索相关信息并将其整合到模型的响应中,来增强大型语言模型 (LLM)。这种方法提高了生成文本的准确性和相关性。

索引和存储技术

  • 文本分块涉及将长文档或文本段落分割成更小的片段,以提高搜索检索和相关性。分块有助于向量搜索模型更有效地处理大量文本。

  • 向量量化是一种通过使用较小的代表性向量集来近似向量嵌入,从而减小其存储大小的技术。此过程使得在大规模向量搜索应用中能够高效存储和检索。

  • 标量量化 (SQ) 通过将浮点值映射到一组有限的离散值来降低向量精度,从而减少内存需求,同时保持搜索准确性。

  • 乘积量化 (PQ) 将高维向量划分为更小的子空间并分别对每个子空间进行量化,从而实现高效的近似最近邻搜索并减少内存使用。

  • 二进制量化 通过将数值转换为二进制格式来压缩向量表示。此技术减少了存储需求并加速了相似性计算。

  • 基于磁盘的向量搜索将向量嵌入存储在磁盘上而不是内存中,使用二进制量化来减少内存消耗,同时保持搜索效率。

剩余 350 字符

有问题?

想贡献?