修复 Milvus 混合搜索的四个常见坑
在 RAG 知识库项目中调试混合检索评分问题,以下是完整排查过程。
TL;DR
Milvus 混合搜索(Dense + Sparse)有四个常见坑:空稀疏向量报错、Collection 未加载、sparse 格式错误、阈值过高。本文给出每个问题的最小修复代码。
在 RAG 知识库项目中调试混合检索评分问题,以下是完整排查过程。
Milvus 混合搜索(Dense + Sparse)有四个常见坑:空稀疏向量报错、Collection 未加载、sparse 格式错误、阈值过高。本文给出每个问题的最小修复代码。
在为企业级 SaaS 系统升级 Node.js 版本时遇到此问题,记录根因与解法。
Node.js v24 对 Web Crypto API 的实现有变化,jose 库要求密钥必须是 KeyObject 或 CryptoKey 类型。用 crypto.createSecretKey() 包装密钥即可解决。
模块顶层 const URL = process.env.SERVICE_URL 在 dotenv 加载前就执行了,导致值为 undefined。改用 getter 函数 const getUrl = () => process.env.SERVICE_URL 延迟读取。
在 Docusaurus i18n 网站中,使用 <a href="/docs/xxx"> 绝对路径会在英文版页面跳转到中文版。解决方案:页面内链接用 <Link to="/docs/xxx">,MD 文档内用相对路径 ./xxx。
Docusaurus 3.9 对翻译文件格式有严格要求,code.json 和 current.json 中的值必须是 { "message": "xxx" } 对象格式,不能是纯字符串或嵌套对象。
Docusaurus 项目引入 Tailwind CSS 后,markdown 文档中的标题(h1-h6)会失去默认样式。原因是 Tailwind Preflight 重置了所有标题的 font-size 和 font-weight。在 custom.css 中使用 .markdown 选择器手动恢复即可。
Docusaurus 切换 Rspack 构建后,Navbar Logo 可能显示原始图片尺寸覆盖页面。在 custom.css 中显式覆盖 .navbar__logo 样式即可解决。