Milvus之BM251. 什么是BM251.1 BM25 与向量检索的区别2. 开始使用前1. 什么是BM25https://milvus.io/docs/zh/bm25-function.mdBM25 是经典的关键词全文打分算法用来计算「查询词」和「文档」的相关性分数。BM25 功能可将原始文本转换为稀疏向量并根据词汇相关性对文档进行评分从而实现全文检索。它应用基于术语的匹配和频率感知加权支持高效检索与查询术语密切匹配的文本文档。※※※作为一个本地文本函数BM25 函数在 Milvus 内部运行不需要模型推理或外部集成。它为基于文本的搜索场景提供了一种确定且透明的检索机制。a. 分数越高代表文档和你的关键词匹配度越高。b. Milvus 里的全文检索底层就是 BM25。稠密向量 语义匹配BM25 关键词字面匹配两者组合就是 RAG 标准混合搜索。1.1 BM25 与向量检索的区别目前RAG最优方案之一稠密向量语义搜索 BM25 关键词搜索 → 多路混合重排2. 开始使用前在使用 BM25 功能之前请规划好你的 Collections Schema确保它支持词法全文检索原始内容的文本字段您的 Collections 必须包含一个VARCHAR 字段来存储原始文本。该字段是将被处理用于全文搜索的文本来源。文本字段的分析器文本字段必须启用分析器。分析器定义了在 BM25 函数计算词汇相关性之前如何对文本进行标记化和规范化。默认情况下Milvus 提供一个内置分析器根据空白和标点符号对文本进行标记化。如果你的应用程序需要自定义标记化或规范化行为你可以定义一个自定义分析器。有关详情请参阅 “根据用例选择合适的分析器”。用于 BM25 输出的稀疏向量您的 Collections 必须包含一个SPARSE_FLOAT_VECTOR 字段用于存储 BM25 函数生成的稀疏表示。该字段用于全文搜索时的索引和检索。在弄清这些 Schema 层面的注意事项后继续创建 Collections 并使用 BM25 函数。