You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AI Search三种搜索类型差异及查询异常技术问询

Azure AI Search 三种搜索类型核心差异及查询异常解析

一、三种搜索类型核心差异

  • 全文搜索:传统关键词匹配检索,依赖倒排索引,仅对搜索文本分词后匹配可搜索字段中的词汇,不理解语义逻辑,无法自动处理数值筛选、条件判断这类需求,必须通过显式过滤器实现。
  • 语义搜索:在全文搜索基础上叠加语义重排能力,利用大模型理解查询的语义意图,对全文搜索召回的结果重新排序,优化相关性,但不具备筛选功能,仅调整结果顺序。
  • 向量搜索:基于文本向量的相似度匹配,将文本转换为高维向量后,通过计算向量空间距离(如余弦相似度)返回最相似的结果,核心是内容语义相似性匹配,完全不识别结构化字段的逻辑条件。

二、各查询异常原因解析

1. 全文搜索结果不符合预期的原因

全文搜索仅做关键词匹配,你的查询which hotel has rating of 4 or over?会被拆分为hotel、rating、4等关键词,系统只会召回包含这些关键词的文档,完全无法解析“评分≥4”这个逻辑筛选条件。要得到正确结果,必须添加filter参数,示例:

results = search_client.search(
    search_text="which hotel has rating of 4 or over?",
    filter="Rating ge 4"
)

2. 语义搜索返回低评分酒店的原因

你的查询写的是which restaurant has rating of 4 or over?,但数据都是酒店,语义搜索依然会匹配到相关酒店文档。但语义搜索的逻辑是:先通过全文搜索召回一批包含关键词的文档,再用大模型做语义重排。Twin Dome Motel的描述里有first-class这类和“高品质”相关的词汇,被全文搜索召回,虽然它评分只有3.6,但语义重排给了它较低的@search.reranker_score,但因为没有添加过滤器,系统不会过滤掉不符合评分条件的文档。同样需要添加filter="Rating ge 4"来筛选结果。

3. 向量搜索返回不符合条件酒店的原因

你使用的DescriptionVector是由酒店描述文本生成的,完全不包含Rating字段的数值信息。查询的向量会和描述中带有“优质”“出色”等语义的文档向量匹配:Triple Landscape Hotel的描述有gastronomic excellence,Sublime Cliff Hotel有extraordinary beauty,这些和“高评分”语义更接近,所以相似度更高;Twin Dome Motel有first-class,也会被召回;Secret Point Motel的描述无相关语义,排在最后。向量搜索不处理结构化数值筛选,所以只要向量相似就会返回,结果排序和评分高低接近只是巧合,并非系统识别了评分条件。要筛选符合评分要求的结果,同样需要添加filter="Rating ge 4"参数。

内容的提问来源于stack exchange,提问作者Manu Chadha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:32:32