Visitar URL original
feat: Add retrieve_online_documents_v2 support to Redis online store · Issue #6461 · feast-dev/feast · GitHub
Skip to content

feat: Add retrieve_online_documents_v2 support to Redis online store #6461

Description

@fcas

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

Additional context

Activity

  1. rehan243 commented on Jun 8, 2026

    @rehan243

    Oh man, we ran into this exact gap with Redis and Feast a while back. Honestly, the lack of native SDK support for vector similarity stuff in Redis 8 was such a blocker for us. We had to hack together a workaround for ANN using raw VSIM calls, but it got messy fast—lost all the nice abstractions Feast gives you.

    The thing is, Redis’ Vector Sets are super solid for this use case (performance was great for us even with 20M+ embeddings), but yeah, without retrieve_online_documents_v2 baked into the SDK, you're basically duct-taping your own solution. Also, COSINE vs L2 support is huge—turns out, depending on your embedding model, you really need one or the other (we had to debug some major precision issues with mismatched metrics).

    Backward compatibility's gonna be tricky since VSIM is Redis 8+ only, but failing gracefully feels like the right move here. Curious if anyone's already experimenting with this internally? Feels like this feature could unlock a ton for teams doing heavy ANN workloads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions