2026/4/18 9:04:09
网站建设
项目流程
鞍山市做网站公司,文艺风格wordpress主题,wordpress 搜索引擎平台,网站排名优化化想象一下这样的场景#xff1a;你在旅行前想预订一家能看到海景的复古风格民宿#xff0c;价格在300元-500元之间.
手机相册里存着去年住过的理想房型照片——红砖墙、拱形落地窗、阳台正对日落方向。
那么该怎么办才能选到心仪的民宿呢#xff1f;把图片上传…想象一下这样的场景你在旅行前想预订一家能看到海景的复古风格民宿价格在300元-500元之间.手机相册里存着去年住过的理想房型照片——红砖墙、拱形落地窗、阳台正对日落方向。那么该怎么办才能选到心仪的民宿呢把图片上传 AI 助手或者旅行软件进行搜索可能找到风格相似但价格超预算的房源若只用关键词筛选又可能错过那些房东描述中写着“地中海风情”却未明确标注“复古”的优质选项。结果显而易见我们需要一种既能理解视觉特征、又可以匹配文字描述的复杂需求的方法结合图片与文字来给出合适的推荐项而这种方法就可称之为“混合检索”。它像一位双语翻译既能读懂图片背后的空间美学向量检索又能精准捕捉“海景”“预算”等关键条件全文检索最终在万千数据中捞出那个击中你的完美答案。上面的简单举例仅仅是需要混合检索的其中一个典型场景而在医疗、金融、电商推荐等行业场景中都会需要混合检索。接下来我们一起来深入了解下到底什么是混合检索。什么是混合检索混合检索是一种强大的技术它整合了多种搜索算法提高了搜索结果的准确性和相关性。混合检索结合了全文检索和向量检索的优势为用户提供更有效和全面的搜索体验。混合检索的出现是为了解决单一检索范式无法应对的复杂搜索需求。传统关键词检索虽然擅长精确匹配如产品型号、专业术语却难以捕捉同义词关联如“心脏病”与“心肌梗塞”更无法理解“适合海边度假”这类场景化查询的深层语义而纯向量检索虽能突破字面限制识别语义关联却可能忽略用户明确指定的关键条件如价格区间、商品规格。这种矛盾在医疗搜索中尤为显著当患者查询“胸痛急救方法”时混合检索既通过关键词锁定专业指南中的标准流程又借助语义理解关联“心绞痛处置”“冠心病突发应对”等衍生内容既避免了纯向量检索可能引入的非权威信息又弥补了关键词检索的语义僵化。通过融合文本的精确匹配能力和向量的语义泛化能力混合检索在保持结果相关性的同时显著提升了搜索系统的容错率和场景适应性。向量搜索与全文搜索的融合混合检索是向量数据库的核心能力之一而在 OriginHub MyScale AI 数据库的混合检索系统中通常使用的就是向量搜索和全文搜索这两种检索方法。全文检索基于关键词匹配使用倒排索引结构支持布尔查询、短语查询等例如Elasticsearch 的文本搜索向量检索基于语义相似度使用向量空间模型支持近似最近邻(ANN)算法例如FAISS、HNSW等向量索引这两种搜索方式各有优缺点。全文搜索在基本关键词检索和文本匹配方面表现出色适用于关键术语非常重要的查询。而向量搜索在跨文档的语义匹配和深层含义理解方面表现更好但在处理短文本查询时效率可能较低。混合检索结合了这两种搜索能力实现了“两全其美”。它利用语义分析捕捉更广泛的上下文相关性同时又保持了精确的关键词匹配从而提供更全面和有效的搜索体验。混合检索融合算法的实现那么两种检索方式如何在 MyScale AI 数据库中实现融合简单来说每种搜索方法向量和全文都会产生一组结果每个结果都附带一个相关性分数。这些分数就会反映特定方法所使用的搜索查询与特定结果的匹配程度。融合算法有效地合并这些结果。它会调整和归一化向量和全文搜索的分数使它们可比较并实现无缝的组合。这个过程确保向用户呈现的最终结果集合了两种搜索方法的优势提供既具有语义相关性又具有文本准确性的结果。在 MyScale AI 数据库中混合检索的核心在于融合算法的巧妙设计。我们建立了多维度评分体系文本检索侧采用 BM25 算法词法评分lex基于关键词频率、文档长度等计算精确匹配度如精确匹配轻便防晒衣可得0.85分向量检索侧使用余弦相似度语义评分sem衡量语义层面的相关性如沙滩防护外套语义匹配度0.92为了实现这种整合 MyScale 目前支持两种融合算法相对分数融合RSF和倒数排序融合RRF。相对分数融合RSF相对分数融合RSF是混合检索系统中一种有效地组合向量和全文搜索结果的方法。该过程包括两个关键步骤分数归一化和加权求和计算。分数归一化归一化 RSF 首先对向量和全文搜索的分数进行归一化。将原始分数转换到 0-1 范围内的统一尺度上。最高和最低分数 每种搜索类型向量和文本中的最高分数被缩放为 1表示该搜索中最相关的结果。相反最低分数被缩放为 0表示最不相关的结果。比例调整 所有其他分数在最高和最低分数之间的相对位置基础上在 0-1 范围内按比例调整。加权求和权重分配 在归一化之后每个分数都乘以特定权重反映了对该特定搜索类型向量或全文的重要性。最终分数计算 每个结果的最终分数是通过对这些加权、归一化的分数求和得出的从而实现了综合平衡的排名整合了两种搜索方法的优势。所使用的归一化公式为RSF 的目的是创建一个统一的排名将向量搜索的语义相关性和全文搜索的文本准确性整合在一起。通过归一化分数并加上适当的权重RSF 确保最终的结果是平衡的结合了两种搜索方法的优势为用户提供更全面和准确的结果。倒数排序融合RRF倒数排序融合RRF是混合检索系统中的另一种方法用于合并来自不同搜索方法如向量和全文搜索的结果。与 RSF 不同RRF 不需要分数归一化而是根据每个结果在各自结果集中的位置进行排名。在以下公式中k 是调整低排名结果重要性的任意常数。RRF 的主要优点是简单高效。通过绕过分数归一化的需求RRF 直接关注排名位置使得合并来自不同搜索方法的结果更加容易特别适用于搜索方法的评分尺度不可直接比较的情况。如何在 MyScale AI 数据库中执行混合检索让我们通过一个示例来演示如何在我们的 AI 数据库中执行混合检索。下面显示的 SQL 查询基于预先导入到数据库集群中的维基百科数据集。首先在’text’列上创建一个全文搜索FTS索引并在’vector’列上使用 cosine distance 创建一个多尺度向量索引。CREATETABLEwiki_abstract(idUInt64,bodyString,titleString,urlString,body_vectorArray(Float32),VECTORINDEXbody_vec_idx body_vectorTYPEMSTG(metric_typeCosine),INDEXbody_idx bodyTYPEfts({body:{tokenizer:{type:stem, stop_word_filters:[english]}}})GRANULARITY1,CONSTRAINTcheck_lengthCHECKlength(body_vector)1024)ENGINEMergeTreeORDERBYid;在这个 SQL CREATE TABLE 语句中我们为 BM25 全文搜索定义了一个 FTS 索引并为从文本列转换而来的高维数据上的余弦相似度搜索定义了一个向量索引。接下来我们可以执行一个利用文本和向量列的混合检索SELECTid,body,HybridSearch(fusion_typeRSF,fusion_weight0.4)(body_vector,body,HuggingFaceEmbedText(Who won the Polar Medal),Who won the Polar Medal)ASscoreFROMwiki_abstractORDERBYscoreDESCLIMIT5;这个混合检索查询首先在body_vector列上执行向量搜索distance()函数找到与查询向量最相似的对象。同时使用TextSearch()函数在body列上进行全文搜索根据查询词的频率对结果进行排名。然后使用所选的融合算法在本例中为RSF返回前几个候选结果。在这个示例中我们为全文搜索加了 0.4 的权重为向量搜索加了 0.6 的权重。当然你还可以调整这些权重以进行实验找到适合你的数据和搜索需求的最佳平衡状态。结论混合检索通过结合关键词检索的精确性和向量检索的语义理解能力有效解决了现代信息检索中的核心矛盾。在电商搜索、专业问答、内容推荐等实际场景中它能够提供更准确、更全面的搜索结果满足用户多样化的信息需求。随着 RAG 技术的普及和大模型应用的发展混合检索已成为提升搜索质量的关键技术其价值在复杂查询、专业领域和多模态场景中尤为凸显。