milvus/docs/developer_guides/appendix_b_api_reference.md
neza2017 3277987898 Add segment threshold factor
Signed-off-by: neza2017 <yefu.chen@zilliz.com>
2020-11-23 11:41:53 +08:00

13 KiB
Raw Blame History

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_paramsFor 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

3.3 Query