-
Type:
New Feature
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
None
Context
What is a flat vector search index?
- A flat vector search index is a new indexingMethod option on MongoDB Vector Search indexes that lets you choose between hnsw (default) and flat per vector field in the index definition.
https://docs.google.com/document/d/1PFVMMq6W7m2ofaPw6U4KRCf2o9JQyKz_xrFsjzuVLFY https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-type/ - When indexingMethod: "flat" is used, MongoDB performs an exhaustive search over the (typically filtered) subset of vectors instead of traversing an HNSW graph, which is specifically optimized for multitenant workloads with many tenants but relatively few vectors per tenant (≈<10K) where queries are always filtered by tenant/namespace.
What ODMs or Frameworks do we need to ensure support of this tool?
For the Python ecosystem owned by Python Integrations, we should ensure indexingMethod (including "flat") can be specified wherever users define vector search indexes:
- Django integration (component on this ticket): Django MongoDB / Atlas Vector Search integration must allow configuring indexingMethod on vector fields in index definitions (either as a first-class option or via pass-through kwargs).
- LangChain MongoDB integration (MongoDBAtlasVectorSearch):
INTPYTHON-285already added generic kwargs support to create_vector_search_index; we should explicitly verify and document that indexingMethod="flat" can be passed through unchanged.
-
- Potentially filled through pymongo-search-utils.
Acceptance Criteria
- API support in the Django Integration with documentation and a reach out to PM team for a potential GTM push
- API support in the LangChain MongoDB Integration with a reach out to the PM team for a potential GTM push
- split from
-
DRIVERS-3398 Add support for "flat" indexing method in vector search index definitions
-
- Implementing
-