想要更好地控制您的搜索设置?了解我们的灵活的基础设施定价

回到主页Meilisearch 的标志
返回文章

语义搜索与向量搜索:主要区别、用途及更多

了解语义搜索和向量搜索之间的主要区别、它们的用例、优势,以及如何为您的搜索需求选择正确的方法。

2025年7月30日14分钟阅读
Ilia Markov
伊利亚·马尔科夫高级增长营销经理nochainmarkov
Semantic search vs Vector search: Key differences, uses, & more

向量搜索和语义搜索可能看起来相似,但它们解决的是不同的问题。

向量搜索通过将文本转换为高维向量并进行比较来查找相似内容。

另一方面,语义搜索通过利用知识图谱和上下文嵌入来理解用户的意图。

在本文中,我们将探讨语义搜索和向量搜索之间的区别。具体来说,我们将讨论:

  • 语义搜索和向量搜索的工作原理。
  • 两者的优缺点。
  • 语义搜索和向量搜索的真实世界示例。
  • 影响语义搜索和向量搜索准确性的因素。

让我们开始吧。

语义搜索解释查询的实际含义,而不是使用关键词。它利用机器学习和知识图谱来理解用户查询的上下文。

向量搜索是一种检索方法,它将非结构化数据(如文本、图像或文档)转换为数值嵌入并将其存储在向量索引中。当用户输入查询时,与搜索查询向量相似的向量被认为是相关的并作为结果返回。

向量搜索和语义搜索都超越了简单的关键词匹配,并使用含义和上下文。

然而,它们的方法有所不同。

语义搜索和向量搜索都允许更智能的信息检索。它们可能看起来相似,但存在一些关键差异。

A graphic listing the key differences between semantic search and vector search.

核心方法

语义搜索试图根据查询的上下文理解您的意图。它依赖于这个上下文,而不仅仅是关键词,来返回结果。

相比之下,向量搜索将您的查询转换为向量,并根据这些向量找到含义最接近的结果。

技术

语义搜索使用自然语言处理等工具来理解您的词语及其关联。

向量搜索使用深度学习模型(如Sentence-BERT)来创建查询的基于数字的表示。然后,它使用智能算法(如HNSW)在大数据集中快速找到最相似的内容。

查询处理

语义搜索像人类一样解释您的查询,考虑含义和上下文。

然而,向量搜索是以数字为中心的。您的查询被转换为向量,相似的向量被认为是匹配的。

语义搜索如何工作?

语义搜索使用以下步骤正常运行:

  1. 查询组件分析: 语义搜索识别搜索查询的主要组件(关键词、短语和关键实体)。例如,在“踢足球的最佳足球鞋”这样的查询中,NLP技术识别出“足球鞋”是主要实体,“足球”是意图驱动因素。
  2. 将查询组件转换为向量嵌入: 通过向量嵌入将组件转换为高维向量。
  3. 计算向量相似度: 在这里,使用余弦相似度等度量来确定向量的接近度。这有助于识别与搜索查询相关的文档。
  4. 将查询与知识图谱关联: 查询对照知识图谱进行检查以提供更多上下文。知识图谱将实体表示为节点,将它们的关系表示为边。因此,相关概念被链接在一起。例如,“足球”可以链接到“后卫”或“中场”。
  5. 结果排名: 最后,对来自向量嵌入或知识图谱(或两者)的结果进行排名,以返回最相关的结果。

向量搜索如何工作?

向量搜索使用嵌入模型将数据转换为数值向量,并将其存储在向量数据库中。在查询期间,它将查询转换为向量并检索最相似的存储向量。

以下是向量搜索如何检索结果:

  1. 存储向量嵌入: 在执行搜索之前,所有相关项目(文本、图像等)都会被转换为向量嵌入并存储在向量数据库中。
  2. 将搜索查询转换为嵌入: 当用户提交查询时,查询也使用相同的嵌入模型转换为向量嵌入。
  3. 搜索相似嵌入: 然后,模型将查询嵌入与存储的嵌入进行比较,以找到最相似的。
  4. 返回结果: 最相似的项目被排名并返回。

由于此搜索需要计算从查询到数据集中每个点的距离,因此大规模实现普通向量搜索可能不切实际。为了加快大型数据集的处理速度,使用了近似最近邻(ANN)算法。

让我们来看看语义搜索相对于向量搜索的优势。

语义搜索和向量搜索都旨在确保准确和智能的搜索,但它们的实现方式不同。

以下是它们的一些优势,可帮助您比较它们的强项。

A graphic listing the key advantages of semantic search vs. vector search.

以下是使用语义搜索的一些好处:

  1. 改善用户体验: 与传统的关键词搜索不同,语义搜索即使在您输入部分搜索查询时也能检索到更相关和准确的结果。它还使用位置数据、用户偏好和历史搜索来向用户的搜索查询提供个性化响应。
  2. 弥合语言障碍: 语义搜索可以解释一种语言的用户查询并以另一种语言返回结果。它使用多语言嵌入模型,可以映射不同语言的查询和文档。
  3. 高度可扩展: 语义搜索可以处理大量数据,同时保持较低的响应时间。每个项目的嵌入都经过预计算并存储在高效的ANN索引中,从而实现快速查询处理。

向量搜索也有其优点:

  1. 灵活匹配: 向量搜索根据含义而非精确关键词查找相关结果,使匹配过程更加灵活。例如,查询“边锋的钉鞋”可以返回“快速足球鞋”的结果,即使标题中缺少“边锋”一词。
  2. 快速相似性搜索: 使用向量搜索在高维向量空间中查找相似内容的过程比语义搜索更快。语义搜索在返回结果之前会添加其他步骤(例如知识图谱比较)。
  3. 可扩展性: 它旨在有效处理大量非结构化数据。
  4. 多语言感知: 多语言嵌入模型可以支持不同数据类型(图像、文本或音频)的各种语言。
  5. 高级应用: 向量搜索在推荐系统和内容聚类领域都有应用。

虽然语义搜索和向量搜索都有优点,但它们并非没有缺点。

A graphic listing the key disadvantages of vector search vs. semantic search.

以下是向量搜索的主要缺点:

  1. 高昂的初始计算成本: 生成嵌入需要高计算量。嵌入数百万文档通常意味着在GPU集群或高性能CPU上运行数小时甚至数天。
  2. 有限的上下文理解: 向量搜索的成功取决于所使用的嵌入模型的质量。如果嵌入模型缺乏良好的上下文感知能力,搜索结果也会同样有缺陷。
  3. 数据更新需要重新嵌入: 无论数据何时更改,都需要重新生成和重新索引嵌入以保持向量搜索的准确性。
  4. 语义漂移风险: 语义漂移是指词语或短语的含义随时间变化。在这种情况下,嵌入模型可能无法反映当前含义。

让我们来看看语义搜索的缺点:

  1. 需要大量的计算资源: 由于语义搜索涉及多个步骤,因此它需要比向量搜索更多的计算能力。
  2. 可能难以处理小众或技术术语: 如果模型未在特定领域语言中进行训练,它可能无法理解技术术语。例如,搜索“最佳点球手”可能会令人困惑,如果它无法识别PK是Penalty Kick的缩写。
  3. 实施和调整复杂: 构建语义搜索系统需要专业知识。它涉及选择嵌入模型、训练数据、选择正确的索引策略、与所需的知识图谱匹配以及解释查询。
  4. 由于过度泛化导致误报的风险: 语义模型有时会返回与查询意图只有松散关系的文档,从而导致不相关的结果。例如,查询“适合快速球员的靴子”可能会返回“用于速度训练的训练鞋”的结果,而这些鞋子并非用于足球。

语义搜索和向量搜索都需要索引。现在我们来讨论语义索引和向量索引。

语义索引和向量索引有什么区别?

语义索引使用同义词、意图信号或领域知识来构建嵌入以返回结果。例如,查询“治疗头痛”可能会返回一篇标题为“扑热息痛剂量指南”的文章,因为它理解扑热息痛是治疗头痛的常用药物。

向量索引存储文件嵌入,并纯粹通过相似性检索项目。对于相同的查询“治疗头痛”,它将返回最近的嵌入,例如标题为“布洛芬缓解头痛”的文章,纯粹基于向量空间中的距离。

简单地说,语义索引理解您的意图,而向量索引返回与您的查询最近的向量。

如果您想了解用户的意图,而不仅仅是他们输入的内容,语义搜索是一个不错的选择。它最适用于问答或查询搜索系统,例如聊天机器人、客户服务工具或企业搜索平台。

另一方面,当速度和可扩展性至关重要时,请使用向量搜索。向量搜索也非常适合大型非结构化数据集,例如图像或视频搜索或产品推荐。在这些情况下,目标是找到相似的项目,而不是精确匹配。

在许多情况下,最佳解决方案是结合语义搜索进行上下文理解和向量搜索进行相似性查找。此类搜索引擎将确保更智能和更准确的结果。

让我们看一些语义搜索和向量搜索的真实世界示例。

大多数需要搜索系统的先进应用程序都使用语义搜索。以下是其中一些:

  • 对话式人工智能和聊天机器人: 语义搜索使聊天机器人能够理解细微或非传统的查询。例如,如果您搜索“为什么我无法登录我的Netflix账户?”,聊天机器人可以返回一篇标题为“Netflix登录问题故障排除”的文章。
  • 企业知识管理: 语义搜索用于大型公司,其中内部文档的搜索结果侧重于含义而非关键词。
  • 搜索引擎: 语义搜索广泛应用于搜索引擎,因为它增强了意图匹配结果。
  • 医学研究平台: 语义搜索使医学研究人员能够进行上下文文献搜索,他们经常使用不同的术语来描述相同的症状或治疗方法。
  • 电子商务: 语义搜索将客户问题与产品信息匹配,即使产品描述使用不同的术语。例如,亚马逊上的购物者搜索“能让我保暖的夹克”,它返回标签为“保暖冬季夹克”的产品。

以下是向量搜索的一些真实世界示例:

  • 产品推荐系统: 向量搜索可以根据用户的偏好或项目的特征推荐产品。如果您搜索“黑色运动鞋”,系统可以推荐其他具有相似材料和款式的运动鞋。它还可以使用协同过滤来返回类似用户购买的运动鞋。
  • 大规模文档或常见问题检索: 向量搜索将用户查询和文档嵌入到同一个向量数据库中,并检索最相关的top-K段落。这使得LLM能够生成精确、上下文感知的答案。
  • 图像和视频搜索: 向量搜索允许用户查找视觉上相似的内容,而不是通过文件名或标签进行搜索。它比较它们的特征并检索那些匹配度高的内容。
  • 欺诈检测: 向量搜索可以通过将异常交易模式与已知欺诈模式进行比较来识别它们。例如,如果有人在异常时间从新地点进行大额购买,向量搜索可以将其标记为可疑。
  • 音频/音乐相似性搜索: 向量搜索使用嵌入将音频转换为向量,使您能够找到相似的歌曲或片段,即使没有匹配的标题。

现在,让我们看看可能影响语义搜索和向量搜索准确性的因素。

以下是一些影响语义搜索准确性的因素。

A graphic listing the key factors that affect the accuracy of semantic search.

NLP模型的质量和新近度

语义搜索严重依赖NLP模型来理解语言。如果模型过时或训练不足,它可能会错过较新的俚语、短语或不断演变的含义,从而降低结果的准确性。

训练数据质量

模型的优劣取决于其训练数据。如果数据干净、多样且标注正确,系统会学习得更好。另一方面,如果训练数据混乱且有偏见,搜索准确性就会下降。

理解用户意图

有时,搜索系统难以识别用户想要什么,尤其是在没有明确上下文的情况下。如果没有这种理解,它可能会返回不相关的结果。

知识图谱或本体论的使用

将搜索系统连接到知识图谱有助于它保持专注和准确,尤其是在专业主题中。然而,浅层图谱会限制结果的质量。

处理歧义

许多词语有不止一个含义,如果系统无法判断指的是哪个含义,它可能会返回错误的结果。例如,搜索“bat”可能会出现会飞的动物,而您想要的是棒球装备。

从向量搜索中获得准确结果不仅仅是使用高级模型。它还取决于搜索系统的构建方式和输入的数据。以下是一些影响其准确性的因素。

A graphic listing the key factors that affect the accuracy of vector search.

嵌入模型的选择和质量

嵌入模型是向量搜索的基础。如果模型训练不足,它将生成弱向量,导致结果相关性降低。

向量的维度和表达能力

向量通过其维度携带含义。如果维度不足,它们可能无法捕获足够的细节。如果维度过多,它们可能会变得嘈杂并降低性能,而不会提高结果的准确性。

选择合适的相似性度量

系统如何衡量向量之间的“接近度”很重要。使用错误的相似性度量可能会使搜索结果出现偏差,返回数学上接近但无关的结果。

是的,您可以结合使用语义搜索、向量搜索和关键词搜索。这种组合被称为混合搜索

混合搜索通过并行运行传统关键词搜索和基于ANN的向量搜索来工作。然后将结果规范化并合并到单个排名列表中。这种方法提供了关键词的精确性和语义理解的上下文深度。

混合搜索广泛应用于企业搜索、大型电子商务网站和知识管理系统,其中精确术语和语义意图至关重要。

混合搜索的优点是:

  • 增强搜索准确性和相关性
  • 改善用户体验
  • 提高搜索速度
  • 控制上下文深度和关键词权重
  • 能够以低计算成本处理数据

Meilisearch 可用于执行向量搜索和语义搜索。让我们看看如何操作。

Meilisearch 支持向量和语义搜索,通过关键词和含义将结果与查询匹配。

以下是使用Meilisearch进行向量或语义搜索的分步过程:

  1. 选择嵌入模型: 首先选择一个模型将您的文本查询转换为向量。您可以使用OpenAI的“text-embedding-ada-002”、Cohere的“embed-english-v2.0”或Hugging Face的模型,如“all-MiniLM-L6-v2”。
  2. 嵌入您的数据: 将您的文档或记录(用户可以搜索的数据)通过模型运行,以生成向量表示。这些将存储在Meilisearch中以进行快速搜索。
  3. 将用户查询转换为向量: 当用户执行搜索时,他们的查询将使用您用于转换数据的相同模型转换为向量。
  4. 搜索最接近的匹配: Meilisearch 使用近似最近邻(ANN)搜索来快速找到最相似的向量——那些含义最接近的向量。
  5. 结合向量和关键词结果: 向量搜索的结果与传统关键词匹配的结果合并,因此您将获得智能、上下文感知的结果和精确匹配的组合。
  6. 过滤和排名结果: 最后,根据您的设置对合并后的结果进行排名和过滤,这样您就可以控制什么首先显示以及什么被过滤掉

剖析现代搜索技术背后的力量

现代搜索已经超越了简单的关键词匹配;现在它专注于理解含义。

我们日常使用的网站和应用程序正在利用向量搜索、语义搜索和人工智能驱动的搜索等技术来理解您的意图,而不仅仅是您输入的内容。

虽然语义搜索侧重于理解意图,但向量搜索使用数学计算通过相似性度量来查找含义。这两种搜索的工作方式不同,但都可以使搜索更准确。

作为开发人员,了解这些工具的工作原理以及何时使用它们可以帮助您选择更好的搜索体验。

Meilisearch 在速度和智能搜索之间取得了完美的平衡。它可以快速捕捉拼写错误,同时理解用户的意图。作为开发人员,您可以为您的用例设置向量和语义搜索,从而构建强大的搜索功能。

What is search relevance: Everything you need to know

什么是搜索相关性:你需要了解的一切

了解什么是搜索相关性,它对用户体验和业务成果为何如此重要,以及如何通过实用策略和见解来改进它。

Ilia Markov
伊利亚·马尔科夫2025年8月12日
On-site search: Definition, implementation, best practices & more

站内搜索:定义、实现、最佳实践及更多

了解什么是站内搜索、它如何运作、其优势、如何实现、最佳实践等。

Ilia Markov
Ilia Markov2025年8月7日
Intranet search engines: What you need to know in 2025

内网搜索引擎:2025年你需要了解的一切

了解什么是内网搜索引擎、它们如何运作、为什么它们很重要,以及主要功能、优势、最佳实践等。

Ilia Markov
Ilia Markov2025年8月6日
© . This site is unofficial and not affiliated with Meilisearch.