Is your feature request related to a problem? Please describe.
The Redis online store currently only supports online_read / online_write operations via get_online_features. There is no support for retrieve_online_documents or retrieve_online_documents_v2, which prevents users from performing vector similarity search (ANN) through the Feast SDK when using Redis as their online store.
Redis 8 introduced Vector Sets as a native data structure (via the VSIM command), making it a first-class vector store without requiring additional modules like RedisSearch. Despite this, Feast users are forced to bypass the SDK and call Redis directly for ANN queries, losing the abstraction and consistency that Feast provides.
Describe the solution you'd like
Implement retrieve_online_documents_v2 in the Redis online store (sdk/python/feast/infra/online_stores/redis.py) with support for:
- Vector similarity search using Redis 8 native Vector Sets (VSIM command)
- COSINE and L2 distance metrics
- top_k results
- Optional metadata/payload filtering by entity key
- Backward compatibility with older Redis versions (graceful error if Vector Sets unavailable)
Expected usage:
results = store.retrieve_online_documents(
feature="user_semantic_memory:perfil_embedding",
query=query_embedding, # np.ndarray float32
top_k=10,
distance_metric="COSINE",
)
Describe alternatives you've considered
- PostgreSQL + pgvector: Supports retrieve_online_documents_v2 natively but has higher latency and lower throughput compared to Redis for online serving.
- Milvus: Full support via PR feat: Adding support to return additional features from vector retrieval for Milvus db #4971, but adds significant operational overhead.
- Direct Redis calls (current workaround): Bypasses the Feast SDK entirely, losing feature logging, consistency guarantees, and SDK abstractions.
Additional context
Is your feature request related to a problem? Please describe.
The Redis online store currently only supports online_read / online_write operations via get_online_features. There is no support for retrieve_online_documents or retrieve_online_documents_v2, which prevents users from performing vector similarity search (ANN) through the Feast SDK when using Redis as their online store.
Redis 8 introduced Vector Sets as a native data structure (via the VSIM command), making it a first-class vector store without requiring additional modules like RedisSearch. Despite this, Feast users are forced to bypass the SDK and call Redis directly for ANN queries, losing the abstraction and consistency that Feast provides.
Describe the solution you'd like
Implement retrieve_online_documents_v2 in the Redis online store (sdk/python/feast/infra/online_stores/redis.py) with support for:
Expected usage:
Describe alternatives you've considered
Additional context