Repository: qdrant/qdrant
File: lib/api/src/grpc/proto/collections.proto (Protocol Buffers)

Code before:
    IntegerIndexParams integer_index_params = 2;
    // Parameters for float index
    FloatIndexParams float_index_params = 4;
    // Parameters for geo index
    GeoIndexParams geo_index_params = 5;
    // Parameters for text index
    TextIndexParams text_index_params = 1;
    // Parameters for bool index
    BoolIndexParams bool_index_params = 6;
    // Parameters for datetime index
    DatetimeIndexParams datetime_index_params = 7;
    // Parameters for uuid index
    UuidIndexParams uuid_index_params = 8;
  }
}

message PayloadSchemaInfo {
  // Field data type
  PayloadSchemaType data_type = 1;
  // Field index parameters
  optional PayloadIndexParams params = 2;
  // Number of points indexed within this field
  optional uint64 points = 3;
}

message UpdateQueueInfo {
    // Number of elements in the queue
    uint64 length = 1;
    // last operation number processed
    optional uint64 op_num = 2;
}

message CollectionInfo {
  // operating condition of the collection
  CollectionStatus status = 1;
  // status of collection optimizers
  OptimizerStatus optimizer_status = 2;
  // Deprecated
  reserved 3;
  // Number of independent segments
  uint64 segments_count = 4;
  // Deprecated
  reserved 5;
  // Deprecated
  reserved 6;
  // Configuration
  CollectionConfig config = 7;
  // Collection data types
  map<string, PayloadSchemaInfo> payload_schema = 8;
  // Approximate number of points in the collection
  optional uint64 points_count = 9;

Review comment (suggestion):
I decided to keep the `UpdateQueueInfo` structure even though it has a single field.

The rational is that we might want to extend it in the future.

Not a strong argument though.

Code after:
    IntegerIndexParams integer_index_params = 2;
    // Parameters for float index
    FloatIndexParams float_index_params = 4;
    // Parameters for geo index
    GeoIndexParams geo_index_params = 5;
    // Parameters for text index
    TextIndexParams text_index_params = 1;
    // Parameters for bool index
    BoolIndexParams bool_index_params = 6;
    // Parameters for datetime index
    DatetimeIndexParams datetime_index_params = 7;
    // Parameters for uuid index
    UuidIndexParams uuid_index_params = 8;
  }
}

message PayloadSchemaInfo {
  // Field data type
  PayloadSchemaType data_type = 1;
  // Field index parameters
  optional PayloadIndexParams params = 2;
  // Number of points indexed within this field
  optional uint64 points = 3;
}

message UpdateQueueInfo {
    // Number of elements in the queue
    uint64 length = 1;
}

message CollectionInfo {
  // operating condition of the collection
  CollectionStatus status = 1;
  // status of collection optimizers
  OptimizerStatus optimizer_status = 2;
  // Deprecated
  reserved 3;
  // Number of independent segments
  uint64 segments_count = 4;
  // Deprecated
  reserved 5;
  // Deprecated
  reserved 6;
  // Configuration
  CollectionConfig config = 7;
  // Collection data types
  map<string, PayloadSchemaInfo> payload_schema = 8;
  // Approximate number of points in the collection
  optional uint64 points_count = 9;
  // Approximate number of indexed vectors in the collection.
  optional uint64 indexed_vectors_count = 10;