Signed-off-by: neza2017 <yefu.chen@zilliz.com>
13 KiB
Appendix B. API Reference
In this section, we introduce the RPCs of milvus service. A brief description of the RPCs is listed as follows.
RPC | description |
---|---|
CreateCollection | create a collection base on schema statement |
DropCollection | drop a collection |
HasCollection | whether or not a collection exists |
DescribeCollection | show a collection's schema and its descriptive statistics |
ShowCollections | list all collections |
CreatePartition | create a partition |
DropPartition | drop a partition |
HasPartition | whether or not a partition exists |
DescribePartition | show a partition's name and its descriptive statistics |
ShowPartitions | list a collection's all partitions |
Insert | insert a batch of rows into a collection or a partition |
Search | query the columns of a collection or a partition with ANNS statements and boolean expressions |
3.1 Definition Requests
3.1.1 CreateCollection
Interface:
rpc CreateCollection(schema.CollectionSchema) returns (common.Status){}
Description:
Create a collection through collection schema.
Parameters:
- schema.CollectionSchema
CollectionSchema struct is shown as follows:
message CollectionSchema {
string name = 1;
string description = 2;
bool autoID = 3;
repeated FieldSchema fields = 4;
}
Collection schema contains all the base information of a collection including collection name, description, autoID and fields. Collection description is defined by database manager to describe the collection. autoID determines whether the ID of each row of data is user-defined. If autoID is true, our system will generate a unique ID for each data. If autoID is false, user need to give each entity a ID when insert.
Fields is a list of FieldSchema. Each schema should include Field name, description, dataType, type_params and index_params.
FieldSchema struct is shown as follows:
message FieldSchema {
string name = 1;
string description = 2;
DataType data_type = 3;
repeated common.KeyValuePair type_params = 4;
repeated common.KeyValuePair index_params = 5;
}
Field schema contains all the base information of a field including field name, description, data_type, type_params and index_params. data_type is a enum type to distingush different data type.Total enum is shown in the last of this doc
type_params contains the detailed information of data_type. For example, vector data type should include dimension information. You can give a pair of <dim, 8> to let the field store 8-dimension vector.
index_params:For fast search, you build index for field. You specify detailed index information for a field. Detailed information about index can be seen in chapter 2.2.3
Returns:
- common.Status
message Status {
ErrorCode error_code = 1;
string reason = 2;
}
Status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
3.1.2 DropCollection
Interface:
rpc DropCollection(CollectionName) returns (common.Status) {}
Description:
This method is used to delete collection.
Parameters:
- CollectionName
CollectionName struct is shown as follows:
message CollectionName {
string collection_name = 1;
}
CollectionName contains only a string named collection_name. Collection with the same collection_name is going to be deleted.
Returns:
- common.Status
message Status {
ErrorCode error_code = 1;
string reason = 2;
}
Status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
3.1.3 HasCollection
Interface:
rpc HasCollection(CollectionName) returns (BoolResponse) {}
Description:
This method is used to test collection existence.
Parameters:
- CollectionName
CollectionName struct is shown as follows:
message CollectionName {
string collection_name = 1;
}
CollectionName contains only a string named collection_name. The server finds the collection through collection_name and judge whether the collection exists.
Returns:
- BoolResponse
message BoolResponse {
common.Status status = 1;
bool value = 2;
}
status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
value represents whether the collection exists. If collection exists, value will be true. If collection doesn't exist, value will be false.
3.1.4 DescribeCollection
Interface:
rpc DescribeCollection(CollectionName) returns (CollectionDescription) {}
Description:
This method is used to get collection schema.
Parameters:
- CollectionName
CollectionName struct is shown as follows:
message CollectionName {
string collection_name = 1;
}
CollectionName contains only a string named collection_name. The server finds the collection through collection_name and get detailed collection information
Returns:
- CollectionDescription
message CollectionDescription {
common.Status status = 1;
schema.CollectionSchema schema = 2;
repeated common.KeyValuePair statistics = 3;
}
status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
schema is collection schema same as the collection schema in CreateCollection.
statitistics is a statistic used to count various information, such as the number of segments, how many rows there are, the number of visits in the last hour, etc.
3.1.5 ShowCollections
Interface:
rpc ShowCollections(common.Empty) returns (StringListResponse) {}
Description:
This method is used to get collection schema.
Parameters: None
Returns:
- StringListResponse
message StringListResponse {
common.Status status = 1;
repeated string values = 2;
}
status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
values is a list contains all collections' name.
3.1.6 CreatePartition
Interface:
rpc CreatePartition(PartitionName) returns (common.Status) {}
Description:
This method is used to create partition
Parameters:
- PartitionName
PartitionName struct is shown as follows:
message PartitionName {
string partition_name = 1;
}
PartitionName contains only a string named partition_name. The server creates partition with the partition_name
-
Returns:
-
common.Status
message Status {
ErrorCode error_code = 1;
string reason = 2;
}
Status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
3.1.7 DropPartition
Interface:
rpc DropPartition(PartitionName) returns (common.Status) {}
Description:
This method is used to drop partition.
Parameters:
- PartitionName
PartitionName struct is shown as follows:
message PartitionName {
string partition_name = 1;
}
PartitionName contains only a string named partition_name. Partition with the same partition_name is going to be deleted.
Returns:
- common.Status
message Status {
ErrorCode error_code = 1;
string reason = 2;
}
Status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
3.1.8 HasPartition
Interface:
rpc HasPartition(PartitionName) returns (BoolResponse) {}
Description:
This method is used to test partition existence.
Parameters:
- PartitionName
PartitionName struct is shown as follows:
message PartitionName {
string partition_name = 1;
}
PartitionName contains only a string named partition_name. Partition with the same partition_name is going to be tested.
Returns:
- BoolResponse
message BoolResponse {
common.Status status = 1;
bool value = 2;
}
status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
value represents whether the partition exists. If partition exists, value will be true. If partition doesn't exist, value will be false.
3.1.9 DescribePartition
Interface:
rpc DescribePartition(PartitionName) returns (PartitionDescription) {}
Description:
This method is used to show partition information
Parameters:
- PartitionName
PartitionName struct is shown as follows:
message PartitionName {
string partition_name = 1;
}
PartitionName contains only a string named partition_name. The server finds the partition through partition_name and get detailed partition information
Returns:
- PartitionDescription
message PartitionDescription {
common.Status status = 1;
PartitionName name = 2;
repeated common.KeyValuePair statistics = 3;
}
status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
name is partition_name same as the PartitionName in CreatePartition.
statitistics is a statistic used to count various information, such as the number of segments, how many rows there are, the number of visits in the last hour, etc.
3.1.10 ShowPartitions
Interface:
rpc ShowPartitions(CollectionName) returns (StringListResponse) {}
Description:
This method is used to get partition description.
Parameters:
- CollectionName
CollectionName struct is shown as follows:
message CollectionName {
string collection_name = 1;
}
CollectionName contains only a string named collection_name. Partition with the same collection_name is going to be listed.
Returns:
- StringListResponse
message StringListResponse {
common.Status status = 1;
repeated string values = 2;
}
status represents the server error code. It doesn't contains grpc error but contains the server error code. We can get the executing result in common status. error_code is a enum type to distingush the executing error type. The total Errorcode is shown in the last of this code. And the reason field is a string to describes the detailed error.
values is a list contains all partitions' name.
3.2 Manipulation Requsts
3.2.1 Insert
- Insert
3.2.2 Delete
- DeleteByID