How milvus full-text search works #42480
-
how dose milvus recall doc in full-text search? Is there inverted index like elasticsearch? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 10 replies
-
参考这篇文章: |
Beta Was this translation helpful? Give feedback.
-
Milvus在做BM25的时候,会先基于BM25分词,把数据提取出向量(本质上就是tokenize,然后根据term出现的次数定义0和1) 搜索的时候,并不会暴力搜。有两种对应实现,基于向量的倒排索引,或者基于graph的图索引. 根据我们的测试,倒排索引会有几会比es快2-3倍 |
Beta Was this translation helpful? Give feedback.
在 Milvus 中,倒排索引基于 Tantivy 实现,其性能和recall依赖主要取决于Tantivy。Full-text search依据BM25算法实现,计算出的sparse向量其实也建了索引。这两者之间的性能差异和recall不好说谁好谁坏,我觉得只能根据具体场景验证吧。