Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Summary(required)

Separating knowhere Knowhere from Milvus project make Milvus easy to run on Mac or other laptops, due to decoupling knowhere that is the engine module make code structure more clear. 

...

Public Interfaces(optional)


Design Details(required)

1. Current dependence

Image Added


2. Decoupling 

  • The distributed layer doesn't directly depend on faiss and should access the unified interface of knowhere.
  • Each index implementation should be independent.
  • Move Knowhere to a new project.

2. Support compile on  MAC 

  • Knowhere support a brute force search which is a kind of vector index and compiled on MAC & Ubuntu.
  • Query and segcore module will depend on knowhere shared library.  

Test Plan(required)

Rejected Alternatives(optional)

...