ReadAny 中文文档 下载 App

向量嵌入与混合检索:超越关键词搜索的语义搜索

传统搜索的致命缺陷

传统电子书阅读器的搜索是纯关键词匹配:你输入"并发修改",它只会找到包含"并发修改"这四个字的段落。但如果你记得作者讲的是"处理同时发生的数据变更",你就搜不到了——这就是词汇错配(vocabulary mismatch)问题。

ReadAny 的语义搜索从根本上解决了这个问题:你搜的是意思,不是字。

向量嵌入是什么

向量嵌入(Vector Embedding)是把文字转换成数字向量的技术。一句话说:

意思相近的文字,转换成向量后在数学空间里也离得近。

例如:

嵌入模型(Embedding Model)就是做这个转换的 AI 模型。ReadAny 支持云端和本地的嵌入模型配置。

混合检索策略

纯向量搜索也有弱点——它可能漏掉精确匹配的专有名词和代码标识符。ReadAny 采用混合检索来平衡:

第一路:BM25 关键词匹配

传统搜索引擎的标准算法,精确匹配你的搜索词。适合找:

第二路:向量相似度匹配

把你的搜索词也转成向量,在向量空间里找最接近的分块。适合找:

合并与排序

两路结果用 RRF(Reciprocal Rank Fusion)算法合并,综合排序列出最终结果。这样既不会漏掉精确的代码匹配,也能找到意思接近但用词不同的段落。

嵌入模型的选择

嵌入模型直接决定语义搜索的效果。ReadAny 推荐:

模型类型维度特点
text-embedding-3-small云端1536OpenAI 官方,质量稳定
nomic-embed-text本地(Ollama)768开源,中文支持不错
bge-m3本地/云端1024多语言,中文强项
DeepSeek embedding云端1024国内访问友好

模型维度越高,区分能力越强,但存储和计算成本也越高。对大部分用户来说,384-1024 维就够用了。

向量化过程

向量化发生在两个时机:

  1. 导入书籍时——如果已配置嵌入模型,导入过程中自动向量化
  2. 导入后手动触发——如果导入时没配置 AI,后来配好了,可以在书籍设置里点"开始向量化"

向量化过程:

搜索结果展示

搜索结果按相关性排序,每条结果显示:

点击结果直接跳转到书中对应位置。