-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: Querying by metadata fields is not flexible enough #1195
Comments
I fully support the proposed features. Besides $contains, I would also appreciate $regex (as in MongoDB: @Link) Thanks for the excellent work so far! |
I also needed more filtering possibilities, so I went to investigate what can be done. The collections are implemented as SQL databases, so I don't think supporting more complex metadata would be possible (correct me if I'm wrong :)). However, additional operators, such as the For example, it would be ideal for my use case to have a list in one metadata field and then filter the database based on what is in the list. I implemented the I created a pull request with these changes (#1393) ; hopefully that helps! |
I am confused by your examples. You are saying that you want to apply this filtering on list metadata, but looking at your examples I don't see lists as metadata but just strings. I have the same problem, so I guess I have to make my list metadata into a string and then apply the like operator to see if the string contains my substring? |
Not having a simple |
Thanks @tazarov for linking the PR here for those that end up investigating for issues first. In case the functionality should be disabled in certain applications and can easily be made available in others perhaps we can simply detect the type of use and disable it? But I will check for details now in the PR. |
Author mentioned adding lists to metadata. Is it something that might happen eventually ? |
I wholly support this. I find it a bit silly that metadata can only be strings. In my use case, for example, I have a list of documents extracted from a pdf, where each document is a page. That document contains an outline and an index, and I would love to add a list of keywords (extracted from the outline and/or index) to the metadata of each page. But right now the best I can do is save the list as a string and then split the string again when I need to consume the metadata, which is a silly extra step that is also error prone if you're not careful about your separators. |
Complex metadata support is much needed. |
Yes please, at least a string-contains query in metadata would go a long way |
Complex metadata support such a list of strings is needed ASAP. Especially when other vector dbs (Qdrant) support this. |
Describe the problem
I am weighing up the trade-off between creating thousands of chroma collections and having few collections with more complex metadata objects so that I will be able to achieve filtering/querying based on different data type operations.
Do you plan to support (in the near future) more operations and data types (mainly custom objects such as json objects) in a given metadata?
Example:
Also, do you happen to have any plan to support string
$contains
operations in metadatawhere
condition?Example:
Describe the proposed solution
str, int, float or bool
where
keyword, I would love to see more operations supported like string/list/map/setcontains
keywords. Today only supported operations seems to be:$gt, $gte, $lt, $lte, $ne, $eq, $in, $nin
Alternatives considered
No response
Importance
would make my life easier
Additional Information
No response
The text was updated successfully, but these errors were encountered: