What is missing
- QdrantOnlineStore has retrieve_online_documents (v1) only — no retrieve_online_documents_v2
- FeatureStore.retrieve_online_documents_v2() raises NotImplementedError for online_store.type: qdrant
- v1 ignores requested_features; returns a 5-tuple, not Dict[str, ValueProto]
- No query_string / hybrid path in Feast's Qdrant integration
- create_collection configures dense vectors only (no sparse vectors for keyword search)
File: sdk/python/feast/infra/online_stores/qdrant_online_store/qdrant.py
What is required (v2 contract)
Implement retrieve_online_documents_v2 per OnlineStore interface:
- Input: requested_features, embedding and/or query_string, top_k, distance_metric, table, config
- Output: List[(event_ts, EntityKeyProto, Dict[str, ValueProto])] with requested features + distance (+ text_rank when text search is used)
Reference: milvus.py, mongodb.py, postgres.py
What to include
- Dense vector search — query_points / Query API; honor requested_features in feature_dict; map score → distance
- Multi-feature per hit — handle Qdrant's one-feature-per-point write model (join/fetch or storage change)
- Hybrid / query_string — sparse vector index + write path; encode query_string to sparse vector; Query API prefetch (dense + sparse) + fusion (RRF); support embedding-only, text-only, and combined queries
- Tests — unit and/or integration under sdk/python/tests/
- Docs — update docs/reference/alpha-vector-database.md and docs/reference/online-stores/qdrant.md
Reactions are currently unavailable
What is missing
File: sdk/python/feast/infra/online_stores/qdrant_online_store/qdrant.py
What is required (v2 contract)
Implement retrieve_online_documents_v2 per OnlineStore interface:
Reference: milvus.py, mongodb.py, postgres.py
What to include