syntax = "proto3"; package milvus.proto.index; option go_package = "github.com/milvus-io/milvus/pkg/proto/indexpb"; import "common.proto"; import "internal.proto"; import "milvus.proto"; import "schema.proto"; service IndexCoord { rpc GetComponentStates(milvus.GetComponentStatesRequest) returns (milvus.ComponentStates) {} rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) returns(milvus.StringResponse){} rpc CreateIndex(CreateIndexRequest) returns (common.Status){} rpc AlterIndex(AlterIndexRequest) returns (common.Status){} // Deprecated: use DescribeIndex instead rpc GetIndexState(GetIndexStateRequest) returns (GetIndexStateResponse) {} rpc GetSegmentIndexState(GetSegmentIndexStateRequest) returns (GetSegmentIndexStateResponse) {} rpc GetIndexInfos(GetIndexInfoRequest) returns (GetIndexInfoResponse){} rpc DropIndex(DropIndexRequest) returns (common.Status) {} rpc DescribeIndex(DescribeIndexRequest) returns (DescribeIndexResponse) {} rpc GetIndexStatistics(GetIndexStatisticsRequest) returns (GetIndexStatisticsResponse) {} // Deprecated: use DescribeIndex instead rpc GetIndexBuildProgress(GetIndexBuildProgressRequest) returns (GetIndexBuildProgressResponse) {} rpc ShowConfigurations(internal.ShowConfigurationsRequest) returns (internal.ShowConfigurationsResponse) { } // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) { } rpc CheckHealth(milvus.CheckHealthRequest) returns (milvus.CheckHealthResponse) { } } message IndexInfo { int64 collectionID = 1; int64 fieldID = 2; string index_name = 3; int64 indexID = 4; repeated common.KeyValuePair type_params = 5; repeated common.KeyValuePair index_params = 6; // index build progress // The real-time statistics may not be expected due to the existence of the compaction mechanism. int64 indexed_rows = 7; int64 total_rows = 8; // index state common.IndexState state = 9; string index_state_fail_reason = 10; bool is_auto_index = 11; repeated common.KeyValuePair user_index_params = 12; int64 pending_index_rows = 13; } message FieldIndex { IndexInfo index_info = 1; bool deleted = 2; uint64 create_time = 3; } message SegmentIndex { int64 collectionID = 1; int64 partitionID = 2; int64 segmentID = 3; int64 num_rows = 4; int64 indexID = 5; int64 buildID = 6; int64 nodeID = 7; int64 index_version = 8; common.IndexState state = 9; string fail_reason = 10; repeated string index_file_keys = 11; bool deleted = 12; uint64 create_time = 13; uint64 serialize_size = 14; // the total size of index file at oos. (may be compress) bool write_handoff = 15; int32 current_index_version = 16; int64 index_store_version = 17; uint64 finished_time = 18; uint64 mem_size = 19; // the total size of index file at local (disk or memory) before loading by knowhere. (not compress) int32 current_scalar_index_version = 20; } message RegisterNodeRequest { common.MsgBase base = 1; common.Address address = 2; int64 nodeID = 3; } message RegisterNodeResponse { common.Status status = 1; internal.InitParams init_params = 2; } message GetIndexStateRequest { int64 collectionID = 1; string index_name = 2; } message GetIndexStateResponse { common.Status status = 1; common.IndexState state = 2; string fail_reason = 3; } message GetSegmentIndexStateRequest { int64 collectionID = 1; string index_name = 2; repeated int64 segmentIDs = 3; } message SegmentIndexState { int64 segmentID = 1; common.IndexState state = 2; string fail_reason = 3; string index_name = 4; } message GetSegmentIndexStateResponse { common.Status status = 1; repeated SegmentIndexState states = 2; } message CreateIndexRequest { int64 collectionID = 1; int64 fieldID = 2; string index_name = 3; repeated common.KeyValuePair type_params = 4; repeated common.KeyValuePair index_params = 5; uint64 timestamp = 6; bool is_auto_index = 7; repeated common.KeyValuePair user_index_params = 8; bool user_autoindex_metric_type_specified = 9; } message AlterIndexRequest { int64 collectionID = 1; string index_name = 2; repeated common.KeyValuePair params = 3; repeated string delete_keys = 4; } message GetIndexInfoRequest { int64 collectionID = 1; repeated int64 segmentIDs = 2; string index_name = 3; } message IndexFilePathInfo { int64 segmentID = 1; int64 fieldID = 2; int64 indexID = 3; int64 buildID = 4; string index_name = 5; repeated common.KeyValuePair index_params = 6; repeated string index_file_paths = 7; uint64 serialized_size = 8; int64 index_version = 9; int64 num_rows = 10; int32 current_index_version = 11; uint64 mem_size = 12; } message SegmentInfo { int64 collectionID = 1; int64 segmentID = 2; bool enable_index = 3; repeated IndexFilePathInfo index_infos = 4; } message GetIndexInfoResponse { common.Status status = 1; map segment_info = 2; } message DropIndexRequest { int64 collectionID = 1; repeated int64 partitionIDs = 2; string index_name = 3; bool drop_all = 4; } message DescribeIndexRequest { int64 collectionID = 1; string index_name = 2; uint64 timestamp = 3; } message DescribeIndexResponse { common.Status status = 1; repeated IndexInfo index_infos = 2; } message GetIndexBuildProgressRequest { int64 collectionID = 1; string index_name = 2; } message GetIndexBuildProgressResponse { common.Status status = 1; int64 indexed_rows = 2; int64 total_rows = 3; int64 pending_index_rows = 4; } // Synchronously modify StorageConfig in index_cgo_msg.proto/clustering.proto file message StorageConfig { string address = 1; string access_keyID = 2; string secret_access_key = 3; bool useSSL = 4; string bucket_name = 5; string root_path = 6; bool useIAM = 7; string IAMEndpoint = 8; string storage_type = 9; bool use_virtual_host = 10; string region = 11; string cloud_provider = 12; int64 request_timeout_ms = 13; string sslCACert = 14; string GcpCredentialJSON = 15; } // Synchronously modify OptionalFieldInfo in index_cgo_msg.proto file message OptionalFieldInfo { int64 fieldID = 1; string field_name = 2; int32 field_type = 3; repeated string data_paths = 4; repeated int64 data_ids = 5; } message JobInfo { int64 num_rows = 1; int64 dim = 2; int64 start_time = 3; int64 end_time = 4; repeated common.KeyValuePair index_params = 5; int64 podID = 6; } message GetIndexStatisticsRequest { int64 collectionID = 1; string index_name = 2; } message GetIndexStatisticsResponse { common.Status status = 1; repeated IndexInfo index_infos = 2; } message ListIndexesRequest { int64 collectionID = 1; } message ListIndexesResponse { common.Status status = 1; repeated IndexInfo index_infos = 2; } message AnalyzeTask { int64 collectionID = 1; int64 partitionID = 2; int64 fieldID = 3; string field_name = 4; schema.DataType field_type = 5; int64 taskID = 6; int64 version = 7; repeated int64 segmentIDs = 8; int64 nodeID = 9; JobState state = 10; string fail_reason = 11; int64 dim = 12; string centroids_file = 13; } message SegmentStats { int64 ID = 1; int64 num_rows = 2; repeated int64 logIDs = 3; } message FieldLogPath { int64 fieldID = 1; repeated string file_paths = 2; } enum JobType { JobTypeNone = 0; JobTypeIndexJob = 1; JobTypeAnalyzeJob = 2; JobTypeStatsJob = 3; } enum JobState { JobStateNone = 0; JobStateInit = 1; JobStateInProgress = 2; JobStateFinished = 3; JobStateFailed = 4; JobStateRetry = 5; } message StatsTask { int64 collectionID = 1; int64 partitionID = 2; int64 segmentID = 3; string insert_channel = 4; int64 taskID = 5; int64 version = 6; int64 nodeID = 7; JobState state = 8; string fail_reason = 9; int64 target_segmentID = 10; index.StatsSubJob subJobType = 11; bool canRecycle = 12; } enum StatsSubJob { None = 0; Sort = 1; TextIndexJob = 2; BM25Job=3; }