Repository navigation
Python: fix(redis): pass collection prefix as a list - #14012
Mukunda Rao Katta (MukundaKatta) wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes Redis search index creation by passing the IndexDefinition.prefix as a list (instead of a string), matching the expected Redis client API and preventing incorrect prefix handling.
Changes:
- Update Redis connector index creation to pass
prefix=[f"{collection_name}:"]toIndexDefinition. - Update the existing unit test that creates an
IndexDefinitionmanually to use a list prefix. - Add a unit test asserting
ensure_collection_exists()constructsIndexDefinitionwith a single-item prefix list for both HASH and JSON collections.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| python/semantic_kernel/connectors/redis.py | Passes collection prefix to IndexDefinition as a list during index creation. |
| python/tests/unit/connectors/memory/test_redis_store.py | Updates manual index-definition test and adds coverage ensuring list-prefix behavior for both collection types. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Eduard van Valkenburg (eavanvalkenburg)
left a comment
There was a problem hiding this comment.
Review finding (blocking): The new test constructs IndexType with invalid values
IndexType(expected_index_type) raises before the assertion runs: redis-py's supported IndexType enum uses members such as IndexType.HASH and IndexType.JSON, not the strings "hash" and "json". Please parametrize with the enum members directly so the added test actually validates the collection-prefix change.
No description provided.