Add support for aggregations to Milvus, which can be extended to support arbitrary aggregations. For example, min, max, avg, etc.
Why is this needed?
Among other things, this improves the visibility of the data stored in Milvus and reduces the need to rely on an external database for certian kinds of common operations.
There are a few questions that need to be addressed about the user experience. There are a couple of ways I can think of to expose an aggregation interface to Milvus users.
The first is to take an approach similar to the current count(*) interface:
Is there an existing issue for this?
What would you like to be added?
Add support for aggregations to Milvus, which can be extended to support arbitrary aggregations. For example,
min
,max
,avg
, etc.Why is this needed?
Among other things, this improves the visibility of the data stored in Milvus and reduces the need to rely on an external database for certian kinds of common operations.
I see this as a useful feature in its own right, but also as a first step to implementing the feature in https://github.com/milvus-io/milvus/issues/34754.
Anything else?
There are a few questions that need to be addressed about the user experience. There are a couple of ways I can think of to expose an aggregation interface to Milvus users.
The first is to take an approach similar to the current
count(*)
interface:The second is to add an additional parameter for aggregations:
I will raise a draft PR which assumes approach 1, but this can be changed based on feedback.