You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 9, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Sep 9, 2026. It is now read-only.
Enhancement to the weaviate datatypes support (text[], object, object[]) with WeaviateDocumentIndex #1849
We are looking to support text[] -> list of strings, object and object[] data types in order to fully leverage the weaviate storage.
One of the motivations is to have simpler data storage and also to be able to make use of weaviate's new filters : ContainsAny, ContainsAll - https://weaviate.io/developers/weaviate/api/graphql/filters#filter-structure
At the moment we need to serialize our array as a string and use Like operators which is not ideal and detrimental to performance of queries.
These filters are essentially to find conditions within arrays of values. These data types (object[] and text[] aren't supported when indexing data with the WeaviateDocumentIndex.
This object should result into a text[] data type in the WeaviateDocumentIndex.
let's assume a value of ['glutenfree','peanutfree'] in the array.
Then I would be able to do a filter with ContainsAny or ContainsAll on that Field within my search or filter request to find all objects which contain all of the allergenfree terms:
FWIW, after the initial release of the docarray-weaviate integration, weaviate has added support for nested objects, so they don't have to be stored as blobs anymore. However, they can't be filtered upon yet.
However, in @vincetrep example, the thing he wants to filter on is a list of texts, and this is already supported in weaviate's python client.
I don't think I'm in a position to give good estimates anymore. It's almost a year since I last worked on this and I'm not sure how the abstractions work anymore 🤣
Activity
JoanFM commentedon Jan 29, 2024
Can u give an example of the
Docstructure u plan to use and how u would interact with the Index?vincetrep commentedon Jan 29, 2024
Sure:
This object should result into a text[] data type in the WeaviateDocumentIndex.
let's assume a value of ['glutenfree','peanutfree'] in the array.
Then I would be able to do a filter with ContainsAny or ContainsAll on that Field within my search or filter request to find all objects which contain all of the allergenfree terms:
JoanFM commentedon Jan 29, 2024
The point is right now that this type is cureently only handled as
bloband cannot be filtered upon?hsm207 commentedon Jan 29, 2024
FWIW, after the initial release of the docarray-weaviate integration, weaviate has added support for nested objects, so they don't have to be stored as blobs anymore. However, they can't be filtered upon yet.
However, in @vincetrep example, the thing he wants to filter on is a list of texts, and this is already supported in weaviate's python client.
JoanFM commentedon Jan 29, 2024
Hey @hsm207,
Is this change something easy to achieve?
hsm207 commentedon Jan 29, 2024
hey @JoanFM
I don't think I'm in a position to give good estimates anymore. It's almost a year since I last worked on this and I'm not sure how the abstractions work anymore 🤣
maybe @JohannesMessner knows better?