You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A downstream database can own both SignBitmap and RankQuant, keep them in lockstep, and compose two-stage search manually. That is enough for OrdinalDB MVP. Longer-term, the composition is common and central enough that ordvec may want an optional composite type that owns the probe/body pair and exposes add/delete/search as one object.
This is wishlist-level and should build on the smaller primitives:
This is not the same as #170, which is about composite mixed-resolution RankQuant storage. This issue is specifically a SignBitmap probe plus RankQuant body wrapper.
Evidence
SignBitmap is already a compact sign probe with candidate APIs: src/sign_bitmap.rs:37, src/sign_bitmap.rs:133-210.
RankQuant is already the exact asymmetric rerank body with subset rerank: src/quant.rs:74, src/quant.rs:520-663.
The docs describe the two-stage path as bitmap/sign probe → RankQuant rerank: docs/RANK_MODES.md:35-43, docs/RANK_MODES.md:299-331.
Current public root surface exports primitives independently: src/lib.rs:63-67.
Context
A downstream database can own both
SignBitmapandRankQuant, keep them in lockstep, and compose two-stage search manually. That is enough for OrdinalDB MVP. Longer-term, the composition is common and central enough that ordvec may want an optional composite type that owns the probe/body pair and exposes add/delete/search as one object.This is wishlist-level and should build on the smaller primitives:
swap_removeparity.This is not the same as #170, which is about composite mixed-resolution RankQuant storage. This issue is specifically a SignBitmap probe plus RankQuant body wrapper.
Evidence
SignBitmapis already a compact sign probe with candidate APIs:src/sign_bitmap.rs:37,src/sign_bitmap.rs:133-210.RankQuantis already the exact asymmetric rerank body with subset rerank:src/quant.rs:74,src/quant.rs:520-663.docs/RANK_MODES.md:35-43,docs/RANK_MODES.md:299-331.src/lib.rs:63-67.Proposed Shape
Sketch:
Naming is flexible. It could also live behind an
experimentalorcompositefeature until the contract settles.Acceptance Criteria
SignBitmapandRankQuantand keeps lengths/dimensions in sync.addmutates both indexes or neither, once fallible APIs exist.searchuses SignBitmap candidates followed by exact RankQuant rerank.search_docset/ allowlist path is supported once api: add docset-constrained SignBitmap to RankQuant two-stage search #188 lands, or explicitly deferred.swap_removeupdates both indexes consistently once api: add swap_remove to Bitmap and SignBitmap #186 lands.len,is_empty,dim,bits, and byte-size accounting.Non-goals
.odbsemantics.RankQuantFastscanor hidden approximate scoring.