syntax = "proto3"; package milvus.proto.index; option go_package = "github.com/zilliztech/milvus-distributed/internal/proto/indexpb"; import "common.proto"; import "internal.proto"; import "milvus.proto"; message RegisterNodeRequest { common.MsgBase base = 1; common.Address address = 2; } message RegisterNodeResponse { common.Status status = 1; internal.InitParams init_params = 2; } message IndexStatesRequest { repeated int64 indexBuildIDs = 1; } message IndexInfo { common.IndexState state = 1; int64 indexBuildID = 2; int64 indexID = 3; string index_name = 4; string Reason = 5; } message IndexStatesResponse { common.Status status = 1; repeated IndexInfo states = 2; } message BuildIndexRequest { string index_name = 1; int64 indexID = 2; repeated string data_paths = 3; repeated common.KeyValuePair type_params = 4; repeated common.KeyValuePair index_params = 5; } message BuildIndexResponse { common.Status status = 1; int64 indexBuildID = 2; } message BuildIndexCmd { int64 indexBuildID = 1; BuildIndexRequest req = 2; } message BuildIndexNotification { common.Status status = 1; int64 indexBuildID = 2; repeated string index_file_paths = 3; int64 nodeID = 4; } message IndexFilePathsRequest { repeated int64 indexBuildIDs = 1; } message IndexFilePathInfo { common.Status status = 1; int64 indexBuildID = 2; repeated string index_file_paths = 3; } message IndexFilePathsResponse { common.Status status = 1; repeated IndexFilePathInfo file_paths = 2; } message IndexMeta { int64 indexBuildID = 1; common.IndexState state = 2; string fail_reason = 3; BuildIndexRequest req = 4; repeated string index_file_paths = 5; } message DropIndexRequest { int64 indexID = 1; } /****************IndexService************************/ service IndexService { /** * @brief This method is used to create collection * * @param CollectionSchema, use to provide collection information to be created. * * @return Status */ rpc RegisterNode(RegisterNodeRequest) returns (RegisterNodeResponse) {} rpc BuildIndex(BuildIndexRequest) returns (BuildIndexResponse){} rpc GetIndexStates(IndexStatesRequest) returns (IndexStatesResponse) {} rpc GetIndexFilePaths(IndexFilePathsRequest) returns (IndexFilePathsResponse){} rpc NotifyBuildIndex(BuildIndexNotification) returns (common.Status) {} rpc DropIndex(DropIndexRequest) returns (common.Status) {} rpc GetComponentStates(common.Empty) returns (internal.ComponentStates) {} rpc GetTimeTickChannel(common.Empty) returns(milvus.StringResponse) {} rpc GetStatisticsChannel(common.Empty) returns(milvus.StringResponse){} } service IndexNode { /** * @brief This method is used to create collection * * @param CollectionSchema, use to provide collection information to be created. * * @return Status */ rpc BuildIndex(BuildIndexCmd) returns (common.Status){} rpc DropIndex(DropIndexRequest) returns (common.Status) {} rpc GetComponentStates(common.Empty) returns (internal.ComponentStates) {} rpc GetTimeTickChannel(common.Empty) returns(milvus.StringResponse) {} rpc GetStatisticsChannel(common.Empty) returns(milvus.StringResponse){} }