原理描述
在每次查询前,Milvus都会验证所使用的索引算法,这一过程在INDEX_NODE中进行。只有当验证通过,QUERY_NODE才会调用相应索引算法中的接口,执行查询操作。这两个节点的操作均采用Go语言实现。Milvus的整体查询结构如图1所示。
索引算法的关键组件名为Knowhere,主要采用C++实现,并会链接核心索引算法(如Faiss或HNSW等)和CGO接口进行调用。
综上所述,引入KScaNN算法,需在两个方面进行处理。
- 在INDEX_NODE中添加对KScaNN算法的验证,此处用Go语言实现;
- 在Knowhere组件中,引入对KScaNN的对接实现,此处用C++语言实现;
父主题: 特性描述
