You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Current »

Current state: Under Discussion



Keywords:  debug, run, Mac



Separating 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. 


Compiling and running Milvus on Mac is a common requirement, which is helpful for work on the Mac laptop.

Public Interfaces(optional)


Design Details(required)

1. Current dependence

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.
  • We'd better decouple libfiu from key code path, which should only use within test code.

2. Support compile on  MAC 

  • Distributed layer
    • Optimize compile phase make Query and segcore module depends on knowhere shared library.  
    • Reconstruct  BinarySearchBruteForce and FloatSearchBruteForce functions within the query module by knowhere supported brute force search index.
    • Support an alternative way to use libfiu which doesn't compile on Mac, or provide a optional to use libfiu when compile on Mac.
  • Engine Layer(knowhere)
    • Support a brute force search which is a kind of vector index and compiled on MAC & Ubuntu.
    • Upgrade faiss to the latest version, because current version can not be compiled on Mac.

Test Plan(required)

Rejected Alternatives(optional)


  • No labels