Principles
Before each query, Milvus verifies the index algorithm used. This process is performed in INDEX_NODE. Only when the verification is successful, QUERY_NODE invokes the interface in the corresponding index algorithm to perform query operations. The operations on the preceding two nodes are implemented in Go. Figure 1 shows the query structure of Milvus.
Knowhere is the key component of index algorithms. This component is primarily implemented using C++. It links to core index algorithms (such as Faiss and HNSW) for invocation via CGO interfaces.
In conclusion, integrating the KScaNN algorithm into Milvus takes the following two steps:
- Use Go to add the verification of the KScaNN algorithm to INDEX_NODE.
- Use C++ to implement the connection to KScaNN in the Knowhere component.
Parent topic: Feature Description
