Repository navigation
[Feature](lance) Support additional vector index algorithms #66495
Description
Parent
Tracked by #66340. IVF_PQ query support was introduced by #65730; #66779 subsequently supplied the missing physical IVF_PQ regression index, so the baseline fixture no longer silently exercised only flat search.
Scope
- IVF_FLAT query support.
- IVF_SQ query support.
- IVF_HNSW_FLAT query support.
- IVF_HNSW_SQ query support.
- IVF_HNSW_PQ query support.
- Define compatible vector element types, distance metrics, and ANN tuning parameters for each algorithm.
Completion criteria
- Query execution works through Lance automatic index selection for every listed algorithm.
- Regression fixtures and tests cover every algorithm and compatible metric combination.
- EXPLAIN and error handling make index selection and incompatibilities diagnosable.
- User documentation contains a supported algorithm compatibility matrix.
Completion evidence — 2026-09-30
Completed on branch-4.1, satisfying the parent tracker's branch criterion:
- [test](lance) Build the missing IVF_PQ regression fixture #66779 merged the real IVF_PQ fixture and a discriminator against silent flat fallback.
- [test](lance) Add query coverage for the remaining ANN index types and vector element types #66512 merged indexed Float32/L2 fixtures and query coverage for all six ANN algorithms, including
nprobes, refinement, and HNSWefchecks. - [test](lance) Add indexed coverage for cosine, dot and non-Float32 element types #67039 merged the compatible element-type/metric coverage: 56 buildable combinations from the pinned 96-cell matrix, with index-planning, indexed-versus-flat, and partition-probe assertions. Unsupported combinations are documented rather than treated as supported.
- [doc](lance) Document the vector element type and metric compatibility matrix doris-website#4082 merged the supported compatibility matrix and index/metric-selection limitations. [fix](lance) Select metric-compatible vector index #67553 subsequently fixed selection of a metric-compatible logical index when a column has multiple indexes.
The recorded External Regression statuses for #66512 and #67039 are successful. The implementation/test and documentation PRs are merged; all listed algorithms and the scoped compatibility criteria are covered, so this issue is closed as completed. This is query support, not index creation/lifecycle delivery (#66497), and does not claim universal algorithm/type/metric compatibility or general ANN recall guarantees. No new tests were run during this status audit.
Activity
Gabriel39 commentedon Aug 5, 2026
@FANNG1, would you be available to take ownership of this issue and implement it?
FANNG1 commentedon Aug 5, 2026
Thanks for the invitation! I’d be happy to take this issue and plan to start working on it soon. Could you please assign it to me?
Gabriel39 commentedon Aug 5, 2026
Thanks! Yes, please go ahead. The issue is assigned to you.
[feature](lance) Add verified IVF_FLAT vector index query coverage (a…
[feature](lance) Add verified IVF_FLAT vector index query coverage (a…
[test](lance) Add regression goldens for the IVF_FLAT and IVF_PQ vect…
[test](lance) Build the missing IVF_PQ regression fixture
FANNG1 commentedon Aug 14, 2026
#66779 first: the IVF_PQ fixture this issue refers to never actually had an index —
run07_create_vector_types.sqlleft index creation to a script that was never committed, so those queries were running flat KNN. It is test-only.Once it lands I plan a single follow-up PR for the remaining algorithms (rebuilding #66512 into it) rather than one per algorithm, since they all share the same binary fixture. Sound OK to you?
[test](lance) Build the missing IVF_PQ regression fixture (#66779)
[test](lance) Add query coverage for the remaining ANN index types
[test](lance) Add regression goldens for the new ANN index suites
[test](lance) Cover every vector element type Doris encodes
[test](lance) Add query coverage for the remaining ANN index types
[test](lance) Add regression goldens for the new ANN index suites
[test](lance) Cover every vector element type Doris encodes
[test](lance) Add query coverage for the remaining ANN index types an…
[doc](lance) Document the vector element type and metric compatibilit…
[test](lance) Add indexed coverage for cosine, dot and non-Float32 el…