I am facing an issue with my Weaviate deployment where I am unable to change the default query limits for search results. Despite adjusting both the QUERY_DEFAULTS_LIMIT and QUERY_MAXIMUM_RESULTS parameters in my configuration, as well as trying different values and even omitting them entirely, the number of search results returned by Weaviate remains fixed at 100.
Below is the relevant excerpt from my Weaviate configuration:
Thank you for raising that problem internally, I am facing the same issue.
On the other hand, I was wondering if it would be possible to pass filters in the cursor api ?
Also, do you mind updating the doc: until the fix to GRPC i completed?
The number of objects you can retrieve is limited. A single query returns up to QUERY_MAXIMUM_RESULTS. If the sum of offset and limit exceeds QUERY_MAXIMUM_RESULTS, Weaviate returns an error. To change the limit, edit the QUERY_MAXIMUM_RESULTS environment variable. If you increase QUERY_MAXIMUM_RESULTS, use the lowest value possible to avoid performance problems.
What to do - if I need to go through the whole collection (more than 5 million objects) and filter by property (e.g. document type=âpdfâ) to process them?
If you use filter search - then limit + offset should be less than QUERY_MAXIMUM_RESULTS (which is 10_000 by default).
Should âQUERY_MAXIMUM_RESULTSâ be equal to the number of data in the database?
And probably, if you want to get that, you will also need to increase GRPC_MAX_MESSAGE_SIZE at environment variable, as if not using pagination, you can reach that limit too
Since I use pagination (limit/offset), I donât encounter GRPC_MAX_MESSAGE_SIZE.
But as soon asthe sum of limit + offset approaches 10_000 ( I didnât change default QUERY_MAXIMUM_RESULTS), I get an error:
weaviate.exceptions.WeaviateQueryError: Query call with protocol GRPC search failed with message <AioRpcError of RPC that terminated with:
status = StatusCode.UNKNOWN
details = "explorer: list class: search: invalid pagination params: query maximum results exceeded"
debug_error_string = "UNKNOWN:Error received from peer {grpc_message:"explorer: list class: search: invalid pagination params: query maximum results exceeded", grpc_status:2, created_time:"2025-08-15T14:02:22.05397+04:00"}"
>.
My code:
Document = client.collections.get('Document').with_tenant(tenant)
req = Document.query.fetch_objects(
limit=10,
offset=10_000,
return_properties=['document_type'],
)
for _obj in req.objects: # raise weaviate.exceptions.WeaviateQueryError
print(_obj.uuid)
Where can I vote for the functionality: add to cursor_api or somewhere else the ability to bypass the collection with a simple (Equal) filter?
I believe it is best to create a new forum thread (or GH issue), stating the problem, a minimum reproducible code, the version you can reproduce, etc. And once we have this in place, request a feature.