Query()
This method conducts metadata filtering within a collection.
func (c *GrpcClient) Query(ctx context.Context, collectionName string, partitionNames []string, expr string, outputFields []string, opts ...SearchQueryOptionFunc) (ResultSet, error)
Parameter | Description | Type |
---|---|---|
| Context for the current call to work. |
|
| Name of a collection. |
|
| List of partition names. If left empty, all partitions are involved in this operation. Otherwise, only the specified partitions are involved. |
|
| Boolean expression for metadata filtering. For details, refer to Scalar Filtering Rules. |
|
| List of field names to include in the return. |
|
| Extra query options. You can add multiple |
|
Return
A client.ResultSet
, which is a slice of entity.Column
.
client.ResultSet
The client.ResultSet
provides the following methods for you to manipulate the query results.
Method | Return Type | Description |
---|---|---|
|
| Return the column with the provided name. |
|
| Return the number of entities in the query result. |
|
| Return a slice of the query result. |
Errors
Any error in the execution of the request. Possible errors are as follows:
-
ErrClientNotReady
: The client is not connected to Milvus. -
ErrCollectionNotExists
: The collection with the specified name does not exist. -
The call to this API fails.
Example
// query
queryRes, errQuery := mc.Query(context.Background(), collectionName, []string{}, "10< id < 20", []string{}, client.WithSearchQueryConsistencyLevel(entity.ClStrong))
if errQuery != nil {
log.Fatal("failed to query collection:", errQuery.Error())
}
for _, res := range queryRes {
log.Println(res.Name(), res.FieldData())
}