最近在做一个知识库问答的小项目,用的是Milvus + BGE中文embedding模型,数据量大概几十万条。我先把文档切成长句(平均60-80个token),然后直接存向量。但实际搜索时发现,有些明显相关的内容(比如“苹果公司”和“iPhone销量”)召回分数很低,反而一些语义不相关但关键词重合多的结果排前面。我试过调索引参数(IVF_FLAT的nlist从1024改成4096),也试过换cosine距离,效果还是不太理想。想问下各位老哥,是不是我的文档切分粒度有问题?还是说向量维度(768维)对这类细粒度语义匹配不够?或者干脆就是BGE模型对中文长文本支持不够好?求指点个排查方向,谢谢。