Description
Hello dear weaviate team,
I have came accross an issue using a with_where simple query. Most of previous queries where succesful, without any problem, but somehow, regarding a handful of entries, I have the following behaviour:
Let’s say I do a simple filter query on my database, that contains, among others, infos on documents. (we focus here on their unique id (uid) and version (version))
res = (db_client.query
.get(
collection,
["uid","version"]
)
.with_where(
{
"operator": "And",
"operands": [
{
"path": ["uid"],
"operator": "Equal",
"valueText": "QXM8H7",
}
]
}
)
.do())
print(res)
The output is
{'data': {'Get': {'collection_name': [{'uid': 'QXM8H7', 'version': 'v2_14'}]}}}
but when I add a condition on the version
res = (db_client.query
.get(
collection,
["uid","version"]
)
.with_where(
{
"operator": "And",
"operands": [
{
"path": ["uid"],
"operator": "Equal",
"valueText": "QXM8H7",
},
{
"path": ["version"],
"operator": "Equal",
"valueText": "v2_14"
}
]
}
)
.do())
print(res)
The output becomes
{'data': {'Get': {'collection_name': []}}}
So, what is happening here ? FYI,
- the tokenization used are both
word
, but I am looking or exact matches anyways, so it seems unlikely to be the cause. - Both previous queries worked well on other documents
- The collection on which I’m performing queries contains around 990 000 entries, maybe the indexing method struggles with this many entries ?
- there are other “fields” (other than
uid
andversion
), around 30, but they aren’t all filterable nor searchable.
Server Setup Information
- Deployment Method: Don’t have the details yet, custom installation
- Multi Node? No.
- Client Language and Version: Python 3.12.3 (API v3)
- Multitenancy? No.
Any additional Information
Tell me if you need me to provide additional information
Thank you for your time!