S3VectorClient query filter parameter is complex to use
- Dominant language
- Java
- Stars
- 2.6k
- Forks
- 1k
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 51
Description
### Describe the feature
When using S3 Vector store current api for filtering requires [Document](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/document/Document.html) object which makes filtering rather complex.
Writting a filter for example in Python is much easier.
```
query = s3vectors.query_vectors( vectorBucketName="channy-vector-bucket",
indexName="channy-vector-index",
queryVector={"float32":embedding},
topK=3,
filter={"genre":"scifi"},
returnDistance=True,
returnMetadata=True
)
```
It would be great if Java sdk would support filter(String filterJson) or filter(Map) this would make generic dynamic filtering much simpler.
Complex filter for example with aws cli.
`filter '{"$and": [{"category": "tech"}, {"version": {"$gte": "1.0"}}]}'`
Writting it with Java is long with a lot of Document.asString() and Document.asMap() or Document mapBuilder
### Use Case
S3 Vector Store preview querying and filtering vectors.
### Proposed Solution
Allow filter to be plain String which user can serialize on their own or support Map
### Other Information
_No response_
### Acknowledgements
- [x] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### AWS Java SDK version used
Latest
### JDK version used
21
### Operating System and version
MacOs
Contributor guide
Assessment
This issue has not been assessed yet.