Description
Expected Behavior
add properties to define schema outside of the TEXT and VECTOR that are created by default.
add properties to disable the full text search index that is taking a lot of redis space and may be unused in certain use cases.
Current Behavior
at the moment (version 1.0.0-M4)
- the configuration class RedisVectorStoreProperties doesn't enable to define an indexing schema.
- the indexing schema create a TEXT index on the text content of the document
Proposed Enhancements
modify the code of RedisVectorStore to allow schema metadata injection by configuration.
add capability to disable the default TEXT index on the content of the document
enable more easier subclassing by not relying on private accessor and use getter on the configuration helper classes.
Context
I'm indexing embeddings for language teaching contents that would be retrieved by multiples search axis.
- embedding vector similarity (of course)
- specific business constrains : content language, accessibility constrains and so on.
as such I'm not interested in the full text search and only interested in the capability to search by vector similarity and additional TAG indexes.
the result on my side is that i had to bypass the Autoconfigure and copy/paste the whole code of the RedisVectorStore class just alter the index creation and remove the TEXT index on the content_text, and inject the RedisVectorStoreConfig into the modified RedisVectorStore.
even if it's my own use case and that a bit of work was enough to get the expected result, this could help solve more easily a lot of use cases.
i'm not sure if this issue should be split in multiples sub issue for each points.