Versions Compared

Key

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

...

Public Interfaces(optional)

TODO

Design Details(required)

1. Current dependence

Image RemovedImage 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.
  • 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.
    Query and segcore module will depend on knowhere shared library.  
    • Upgrade faiss to the latest version, because current version can not be compiled on Mac.

Test Plan(required)

Rejected Alternatives(optional)

...