@google-cloud/vectorsearch 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/README.md +1 -0
  2. package/build/protos/google/cloud/vectorsearch/v1/data_object_search_service.proto +0 -40
  3. package/build/protos/google/cloud/vectorsearch/v1/vectorsearch_service.proto +72 -3
  4. package/build/protos/google/cloud/vectorsearch/v1beta/common.proto +4 -1
  5. package/build/protos/google/cloud/vectorsearch/v1beta/data_object.proto +8 -3
  6. package/build/protos/google/cloud/vectorsearch/v1beta/data_object_search_service.proto +71 -40
  7. package/build/protos/google/cloud/vectorsearch/v1beta/data_object_service.proto +11 -2
  8. package/build/protos/google/cloud/vectorsearch/v1beta/embedding_config.proto +3 -0
  9. package/build/protos/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto +85 -15
  10. package/build/protos/protos.d.ts +3059 -2409
  11. package/build/protos/protos.js +9804 -8313
  12. package/build/protos/protos.json +318 -128
  13. package/build/src/v1/gapic_metadata.json +10 -0
  14. package/build/src/v1/vector_search_service_client.d.ts +41 -0
  15. package/build/src/v1/vector_search_service_client.js +53 -2
  16. package/build/src/v1/vector_search_service_client.js.map +1 -1
  17. package/build/src/v1/vector_search_service_client_config.json +4 -0
  18. package/build/src/v1beta/data_object_search_service_client.d.ts +15 -6
  19. package/build/src/v1beta/data_object_search_service_client.js +10 -4
  20. package/build/src/v1beta/data_object_search_service_client.js.map +1 -1
  21. package/build/src/v1beta/data_object_service_client.d.ts +4 -0
  22. package/build/src/v1beta/data_object_service_client.js.map +1 -1
  23. package/package.json +1 -1
package/README.md CHANGED
@@ -73,6 +73,7 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ
73
73
  | create index | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vectorsearch/samples/generated/v1/vector_search_service.create_index.js) |
74
74
  | delete collection | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vectorsearch/samples/generated/v1/vector_search_service.delete_collection.js) |
75
75
  | delete index | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vectorsearch/samples/generated/v1/vector_search_service.delete_index.js) |
76
+ | export data objects | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vectorsearch/samples/generated/v1/vector_search_service.export_data_objects.js) |
76
77
  | get collection | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vectorsearch/samples/generated/v1/vector_search_service.get_collection.js) |
77
78
  | get index | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vectorsearch/samples/generated/v1/vector_search_service.get_index.js) |
78
79
  | import data objects | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-vectorsearch/samples/generated/v1/vector_search_service.import_data_objects.js) |
@@ -101,25 +101,6 @@ message OutputFields {
101
101
  message SearchHint {
102
102
  // Message to specify the index to use for the search.
103
103
  message IndexHint {
104
- // Parameters for dense ScaNN.
105
- message DenseScannParams {
106
- // Optional. Dense ANN param overrides to control recall and latency.
107
- // The percentage of leaves to search, in the range [0, 100].
108
- int32 search_leaves_pct = 1 [(google.api.field_behavior) = OPTIONAL];
109
-
110
- // Optional. The number of initial candidates. Must be a positive integer
111
- // (> 0).
112
- int32 initial_candidate_count = 2
113
- [(google.api.field_behavior) = OPTIONAL];
114
- }
115
-
116
- // The parameters for the index.
117
- oneof params {
118
- // Optional. Dense ScaNN parameters.
119
- DenseScannParams dense_scann_params = 2
120
- [(google.api.field_behavior) = OPTIONAL];
121
- }
122
-
123
104
  // Required. The resource name of the index to use for the search.
124
105
  // The index must be in the same project, location, and collection.
125
106
  // Format:
@@ -410,9 +391,6 @@ message Ranker {
410
391
  oneof ranker {
411
392
  // Reciprocal Rank Fusion ranking.
412
393
  ReciprocalRankFusion rrf = 1;
413
-
414
- // Vertex AI ranking.
415
- VertexRanker vertex = 2;
416
394
  }
417
395
  }
418
396
 
@@ -422,24 +400,6 @@ message ReciprocalRankFusion {
422
400
  repeated double weights = 1 [(google.api.field_behavior) = REQUIRED];
423
401
  }
424
402
 
425
- // Defines a ranker using the Vertex AI ranking service.
426
- // See https://cloud.google.com/generative-ai-app-builder/docs/ranking for
427
- // details.
428
- message VertexRanker {
429
- // Required. The query against which the records are ranked and scored.
430
- string query = 1 [(google.api.field_behavior) = REQUIRED];
431
-
432
- // Optional. The template used to generate the record's title.
433
- string title_template = 2 [(google.api.field_behavior) = OPTIONAL];
434
-
435
- // Optional. The template used to generate the record's content.
436
- string content_template = 3 [(google.api.field_behavior) = OPTIONAL];
437
-
438
- // Required. The model used for ranking documents. If no model is specified,
439
- // then semantic-ranker-default@latest is used.
440
- string model = 4 [(google.api.field_behavior) = REQUIRED];
441
- }
442
-
443
403
  // A response from a batch search operation.
444
404
  message BatchSearchDataObjectsResponse {
445
405
  // Output only. A list of search responses, one for each request in the batch.
@@ -159,6 +159,19 @@ service VectorSearchService {
159
159
  metadata_type: "ImportDataObjectsMetadata"
160
160
  };
161
161
  }
162
+
163
+ // Initiates a Long-Running Operation to export DataObjects from a Collection.
164
+ rpc ExportDataObjects(ExportDataObjectsRequest)
165
+ returns (google.longrunning.Operation) {
166
+ option (google.api.http) = {
167
+ post: "/v1/{name=projects/*/locations/*/collections/*}:exportDataObjects"
168
+ body: "*"
169
+ };
170
+ option (google.longrunning.operation_info) = {
171
+ response_type: "ExportDataObjectsResponse"
172
+ metadata_type: "ExportDataObjectsMetadata"
173
+ };
174
+ }
162
175
  }
163
176
 
164
177
  // Message describing Collection object
@@ -654,17 +667,73 @@ message ImportDataObjectsResponse {
654
667
  google.rpc.Status status = 1;
655
668
  }
656
669
 
670
+ // Request message for
671
+ // [VectorSearchService.ExportDataObjects][google.cloud.vectorsearch.v1.VectorSearchService.ExportDataObjects].
672
+ message ExportDataObjectsRequest {
673
+ // Google Cloud Storage configuration for the export.
674
+ message GcsExportDestination {
675
+ // Options for the format of the exported Data Objects.
676
+ enum Format {
677
+ // Unspecified format.
678
+ FORMAT_UNSPECIFIED = 0;
679
+
680
+ // Exports Data Objects in `JSONL` format.
681
+ JSONL = 2;
682
+ }
683
+
684
+ // Required. URI prefix of the Cloud Storage where to export Data Objects.
685
+ // The bucket is required to be in the same region as the collection.
686
+ string export_uri = 1 [(google.api.field_behavior) = REQUIRED];
687
+
688
+ // Required. The format of the exported Data Objects.
689
+ Format format = 2 [(google.api.field_behavior) = REQUIRED];
690
+ }
691
+
692
+ // The configuration for the export data.
693
+ oneof destination {
694
+ // The Cloud Storage location where user wants to export Data Objects.
695
+ GcsExportDestination gcs_destination = 2;
696
+ }
697
+
698
+ // Required. The resource name of the Collection from which we want to export
699
+ // Data Objects. Format:
700
+ // `projects/{project}/locations/{location}/collections/{collection}`.
701
+ string name = 1 [
702
+ (google.api.field_behavior) = REQUIRED,
703
+ (google.api.resource_reference) = {
704
+ type: "vectorsearch.googleapis.com/Collection"
705
+ }
706
+ ];
707
+ }
708
+
709
+ // Metadata for the ExportDataObjects LRO.
710
+ message ExportDataObjectsMetadata {
711
+ // Output only. The time the operation was created.
712
+ google.protobuf.Timestamp create_time = 1
713
+ [(google.api.field_behavior) = OUTPUT_ONLY];
714
+
715
+ // Output only. The time the operation finished.
716
+ google.protobuf.Timestamp finish_time = 2
717
+ [(google.api.field_behavior) = OUTPUT_ONLY];
718
+ }
719
+
720
+ // Response for the ExportDataObjects LRO.
721
+ message ExportDataObjectsResponse {}
722
+
657
723
  // Represents dedicated infrastructure for the index.
658
724
  message DedicatedInfrastructure {
659
725
  // Specification for autoscaling.
660
726
  message AutoscalingSpec {
661
727
  // Optional. The minimum number of replicas. If not set or set to `0`,
662
- // defaults to `2`. Must be >= `2` and <= `1000`.
728
+ // defaults to `2`. Must be >= `1` and <= `1000`.
663
729
  int32 min_replica_count = 1 [(google.api.field_behavior) = OPTIONAL];
664
730
 
665
- // Optional. The maximum number of replicas. If not set or set to `0`,
666
- // defaults to the greater of `min_replica_count` and `5`. Must be >=
731
+ // Optional. The maximum number of replicas. Must be >=
667
732
  // `min_replica_count` and <= `1000`.
733
+ // For the v1beta version, if not set or set to `0`, defaults to
734
+ // the greater of `min_replica_count` and `5`.
735
+ // For all other versions, if not set or set to `0`, defaults to
736
+ // the greater of `min_replica_count` and `2`.
668
737
  int32 max_replica_count = 2 [(google.api.field_behavior) = OPTIONAL];
669
738
  }
670
739
 
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -16,10 +16,13 @@ syntax = "proto3";
16
16
 
17
17
  package google.cloud.vectorsearch.v1beta;
18
18
 
19
+ option csharp_namespace = "Google.Cloud.VectorSearch.V1Beta";
19
20
  option go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
20
21
  option java_multiple_files = true;
21
22
  option java_outer_classname = "CommonProto";
22
23
  option java_package = "com.google.cloud.vectorsearch.v1beta";
24
+ option php_namespace = "Google\\Cloud\\VectorSearch\\V1beta";
25
+ option ruby_package = "Google::Cloud::VectorSearch::V1beta";
23
26
 
24
27
  // Distance metric for vector search.
25
28
  enum DistanceMetric {
@@ -21,10 +21,13 @@ import "google/api/resource.proto";
21
21
  import "google/protobuf/struct.proto";
22
22
  import "google/protobuf/timestamp.proto";
23
23
 
24
+ option csharp_namespace = "Google.Cloud.VectorSearch.V1Beta";
24
25
  option go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
25
26
  option java_multiple_files = true;
26
27
  option java_outer_classname = "DataObjectProto";
27
28
  option java_package = "com.google.cloud.vectorsearch.v1beta";
29
+ option php_namespace = "Google\\Cloud\\VectorSearch\\V1beta";
30
+ option ruby_package = "Google::Cloud::VectorSearch::V1beta";
28
31
 
29
32
  // A dataObject resource in Vector Search.
30
33
  message DataObject {
@@ -44,8 +47,7 @@ message DataObject {
44
47
  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
45
48
 
46
49
  // Output only. The id of the dataObject.
47
- string data_object_id = 2
48
- [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
50
+ string data_object_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
49
51
 
50
52
  // Output only. Timestamp the dataObject was created at.
51
53
  google.protobuf.Timestamp create_time = 4
@@ -60,6 +62,9 @@ message DataObject {
60
62
 
61
63
  // Optional. The vectors of the dataObject.
62
64
  map<string, Vector> vectors = 7 [(google.api.field_behavior) = OPTIONAL];
65
+
66
+ // Optional. The etag of the dataObject.
67
+ string etag = 8 [(google.api.field_behavior) = OPTIONAL];
63
68
  }
64
69
 
65
70
  // A vector which can be either dense or sparse.
@@ -73,7 +78,7 @@ message Vector {
73
78
  SparseVector sparse = 3;
74
79
  }
75
80
 
76
- // The values of the vector.
81
+ // Deprecated: Use `dense` or `sparse` instead.
77
82
  repeated float values = 1 [deprecated = true];
78
83
  }
79
84
 
@@ -25,10 +25,13 @@ import "google/cloud/vectorsearch/v1beta/data_object.proto";
25
25
  import "google/cloud/vectorsearch/v1beta/embedding_config.proto";
26
26
  import "google/protobuf/struct.proto";
27
27
 
28
+ option csharp_namespace = "Google.Cloud.VectorSearch.V1Beta";
28
29
  option go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
29
30
  option java_multiple_files = true;
30
31
  option java_outer_classname = "DataObjectSearchServiceProto";
31
32
  option java_package = "com.google.cloud.vectorsearch.v1beta";
33
+ option php_namespace = "Google\\Cloud\\VectorSearch\\V1beta";
34
+ option ruby_package = "Google::Cloud::VectorSearch::V1beta";
32
35
 
33
36
  // Service for searching data objects.
34
37
  service DataObjectSearchService {
@@ -98,21 +101,60 @@ message OutputFields {
98
101
  message SearchHint {
99
102
  // Message to specify the index to use for the search.
100
103
  message IndexHint {
104
+ // Parameters for dense ScaNN.
105
+ message DenseScannParams {
106
+ // Optional. Dense ANN param overrides to control recall and latency.
107
+ // The percentage of leaves to search, in the range [0, 100].
108
+ int32 search_leaves_pct = 1 [(google.api.field_behavior) = OPTIONAL];
109
+
110
+ // Optional. The number of initial candidates. Must be a positive integer
111
+ // (> 0).
112
+ int32 initial_candidate_count = 2
113
+ [(google.api.field_behavior) = OPTIONAL];
114
+ }
115
+
116
+ // The parameters for the index.
117
+ oneof params {
118
+ // Optional. Dense ScaNN parameters.
119
+ DenseScannParams dense_scann_params = 2
120
+ [(google.api.field_behavior) = OPTIONAL];
121
+ }
122
+
101
123
  // Required. The resource name of the index to use for the search.
102
124
  // The index must be in the same project, location, and collection.
103
125
  // Format:
104
126
  // `projects/{project}/locations/{location}/collections/{collection}/indexes/{index}`
105
- string name = 1 [(google.api.field_behavior) = REQUIRED];
127
+ string name = 1 [
128
+ (google.api.field_behavior) = REQUIRED,
129
+ (google.api.resource_reference) = {
130
+ type: "vectorsearch.googleapis.com/Index"
131
+ }
132
+ ];
106
133
  }
107
134
 
135
+ // KnnHint will be used if search should be explicitly done on system's
136
+ // default K-Nearest Neighbor (KNN) index engine.
137
+ message KnnHint {}
138
+
108
139
  // The type of index to use.
109
140
  oneof index_type {
110
- // Optional. Specifies that the search should use a particular index.
111
- IndexHint use_index = 1 [(google.api.field_behavior) = OPTIONAL];
141
+ // Optional. Deprecated: Use `index_hint` instead.
142
+ // Specifies that the search should use a particular index.
143
+ IndexHint use_index = 1
144
+ [deprecated = true, (google.api.field_behavior) = OPTIONAL];
145
+
146
+ // Optional. Deprecated: Use `knn_hint` instead.
147
+ // If set to true, the search will use the system's default
148
+ // K-Nearest Neighbor (KNN) index engine.
149
+ bool use_knn = 2
150
+ [deprecated = true, (google.api.field_behavior) = OPTIONAL];
112
151
 
113
- // Optional. If set to true, the search will use the system's default
152
+ // Optional. If set, the search will use the system's default
114
153
  // K-Nearest Neighbor (KNN) index engine.
115
- bool use_knn = 2 [(google.api.field_behavior) = OPTIONAL];
154
+ KnnHint knn_hint = 3 [(google.api.field_behavior) = OPTIONAL];
155
+
156
+ // Optional. Specifies that the search should use a particular index.
157
+ IndexHint index_hint = 4 [(google.api.field_behavior) = OPTIONAL];
116
158
  }
117
159
  }
118
160
 
@@ -161,8 +203,7 @@ message VectorSearch {
161
203
 
162
204
  // Optional. The distance metric to use for the KNN search. If not specified,
163
205
  // DOT_PRODUCT will be used as the default.
164
- google.cloud.vectorsearch.v1beta.DistanceMetric distance_metric = 11
165
- [(google.api.field_behavior) = OPTIONAL];
206
+ DistanceMetric distance_metric = 11 [(google.api.field_behavior) = OPTIONAL];
166
207
  }
167
208
 
168
209
  // Defines a semantic search operation.
@@ -174,8 +215,8 @@ message SemanticSearch {
174
215
  // Required. The vector field to search.
175
216
  string search_field = 2 [(google.api.field_behavior) = REQUIRED];
176
217
 
177
- // Optional. The task type of the query embedding.
178
- EmbeddingTaskType task_type = 5 [(google.api.field_behavior) = OPTIONAL];
218
+ // Required. The task type of the query embedding.
219
+ EmbeddingTaskType task_type = 5 [(google.api.field_behavior) = REQUIRED];
179
220
 
180
221
  // Optional. The fields to return in the search results.
181
222
  OutputFields output_fields = 3 [(google.api.field_behavior) = OPTIONAL];
@@ -235,7 +276,9 @@ message SearchDataObjectsRequest {
235
276
  }
236
277
  ];
237
278
 
238
- // Optional. The standard list page size.
279
+ // Optional. The standard list page size. Only supported for KNN. If not set,
280
+ // up to search_type.top_k results will be returned. The maximum value is
281
+ // 1000; values above 1000 will be coerced to 1000.
239
282
  int32 page_size = 5 [(google.api.field_behavior) = OPTIONAL];
240
283
 
241
284
  // Optional. The standard list page token.
@@ -252,7 +295,8 @@ message SearchResult {
252
295
  // Output only. The matching data object.
253
296
  DataObject data_object = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
254
297
 
255
- // Output only. The similarity distance.
298
+ // Output only. Similarity distance or ranker score returned by
299
+ // BatchSearchDataObjects.
256
300
  optional double distance = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
257
301
  }
258
302
 
@@ -263,7 +307,12 @@ message SearchResponseMetadata {
263
307
  // Output only. The resource name of the index used for the search.
264
308
  // Format:
265
309
  // `projects/{project}/locations/{location}/collections/{collection}/indexes/{index}`
266
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
310
+ string name = 1 [
311
+ (google.api.field_behavior) = OUTPUT_ONLY,
312
+ (google.api.resource_reference) = {
313
+ type: "vectorsearch.googleapis.com/Index"
314
+ }
315
+ ];
267
316
  }
268
317
 
269
318
  // The type of index used.
@@ -315,8 +364,9 @@ message AggregateDataObjectsRequest {
315
364
  // Response message for
316
365
  // [DataObjectSearchService.AggregateDataObjects][google.cloud.vectorsearch.v1beta.DataObjectSearchService.AggregateDataObjects].
317
366
  message AggregateDataObjectsResponse {
318
- // The aggregated results of the query.
319
- repeated google.protobuf.Struct aggregate_results = 1;
367
+ // Output only. The aggregated results of the query.
368
+ repeated google.protobuf.Struct aggregate_results = 1
369
+ [(google.api.field_behavior) = OUTPUT_ONLY];
320
370
  }
321
371
 
322
372
  // Request message for
@@ -338,7 +388,8 @@ message QueryDataObjectsRequest {
338
388
  // Optional. Mask specifying which fields to return.
339
389
  OutputFields output_fields = 7 [(google.api.field_behavior) = OPTIONAL];
340
390
 
341
- // Optional. The standard list page size.
391
+ // Optional. The standard list page size. Default is 100.
392
+ // The maximum value is 1000; values above 1000 will be coerced to 1000.
342
393
  int32 page_size = 5 [(google.api.field_behavior) = OPTIONAL];
343
394
 
344
395
  // Optional. The standard list page token.
@@ -353,13 +404,14 @@ message QueryDataObjectsRequest {
353
404
  // Response message for
354
405
  // [DataObjectSearchService.QueryDataObjects][google.cloud.vectorsearch.v1beta.DataObjectSearchService.QueryDataObjects].
355
406
  message QueryDataObjectsResponse {
356
- // The list of dataObjects that match the query.
357
- repeated DataObject data_objects = 4;
407
+ // Output only. The list of dataObjects that match the query.
408
+ repeated DataObject data_objects = 4
409
+ [(google.api.field_behavior) = OUTPUT_ONLY];
358
410
 
359
- // A token to retrieve next page of results.
411
+ // Output only. A token to retrieve next page of results.
360
412
  // Pass to [DataObjectSearchService.QueryDataObjectsRequest.page_token][] to
361
413
  // obtain that page.
362
- string next_page_token = 3;
414
+ string next_page_token = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
363
415
  }
364
416
 
365
417
  // A request to perform a batch of search operations.
@@ -399,9 +451,6 @@ message Ranker {
399
451
  oneof ranker {
400
452
  // Reciprocal Rank Fusion ranking.
401
453
  ReciprocalRankFusion rrf = 1;
402
-
403
- // Vertex AI ranking.
404
- VertexRanker vertex = 2;
405
454
  }
406
455
  }
407
456
 
@@ -411,24 +460,6 @@ message ReciprocalRankFusion {
411
460
  repeated double weights = 1 [(google.api.field_behavior) = REQUIRED];
412
461
  }
413
462
 
414
- // Defines a ranker using the Vertex AI ranking service.
415
- // See https://cloud.google.com/generative-ai-app-builder/docs/ranking for
416
- // details.
417
- message VertexRanker {
418
- // Required. The query against which the records are ranked and scored.
419
- string query = 1 [(google.api.field_behavior) = REQUIRED];
420
-
421
- // Optional. The template used to generate the record's title.
422
- string title_template = 2 [(google.api.field_behavior) = OPTIONAL];
423
-
424
- // Optional. The template used to generate the record's content.
425
- string content_template = 3 [(google.api.field_behavior) = OPTIONAL];
426
-
427
- // Required. The model used for ranking documents. If no model is specified,
428
- // then semantic-ranker-default@latest is used.
429
- string model = 4 [(google.api.field_behavior) = REQUIRED];
430
- }
431
-
432
463
  // A response from a batch search operation.
433
464
  message BatchSearchDataObjectsResponse {
434
465
  // Output only. A list of search responses, one for each request in the batch.
@@ -24,10 +24,13 @@ import "google/cloud/vectorsearch/v1beta/data_object.proto";
24
24
  import "google/protobuf/empty.proto";
25
25
  import "google/protobuf/field_mask.proto";
26
26
 
27
+ option csharp_namespace = "Google.Cloud.VectorSearch.V1Beta";
27
28
  option go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
28
29
  option java_multiple_files = true;
29
30
  option java_outer_classname = "DataObjectServiceProto";
30
31
  option java_package = "com.google.cloud.vectorsearch.v1beta";
32
+ option php_namespace = "Google\\Cloud\\VectorSearch\\V1beta";
33
+ option ruby_package = "Google::Cloud::VectorSearch::V1beta";
31
34
 
32
35
  // Service for creating and managing data objects.
33
36
  service DataObjectService {
@@ -146,8 +149,9 @@ message BatchCreateDataObjectsRequest {
146
149
  // Response message for
147
150
  // [DataObjectService.BatchCreateDataObjects][google.cloud.vectorsearch.v1beta.DataObjectService.BatchCreateDataObjects].
148
151
  message BatchCreateDataObjectsResponse {
149
- // DataObjects created.
150
- repeated DataObject data_objects = 1;
152
+ // Output only. DataObjects created.
153
+ repeated DataObject data_objects = 1
154
+ [(google.api.field_behavior) = OUTPUT_ONLY];
151
155
  }
152
156
 
153
157
  // Request message for
@@ -212,6 +216,11 @@ message DeleteDataObjectRequest {
212
216
  type: "vectorsearch.googleapis.com/DataObject"
213
217
  }
214
218
  ];
219
+
220
+ // Optional. The current etag of the DataObject.
221
+ // If an etag is provided and does not match the current etag of the
222
+ // DataObject, deletion will be blocked and an ABORTED error will be returned.
223
+ string etag = 2 [(google.api.field_behavior) = OPTIONAL];
215
224
  }
216
225
 
217
226
  // Request message for
@@ -18,10 +18,13 @@ package google.cloud.vectorsearch.v1beta;
18
18
 
19
19
  import "google/api/field_behavior.proto";
20
20
 
21
+ option csharp_namespace = "Google.Cloud.VectorSearch.V1Beta";
21
22
  option go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
22
23
  option java_multiple_files = true;
23
24
  option java_outer_classname = "EmbeddingConfigProto";
24
25
  option java_package = "com.google.cloud.vectorsearch.v1beta";
26
+ option php_namespace = "Google\\Cloud\\VectorSearch\\V1beta";
27
+ option ruby_package = "Google::Cloud::VectorSearch::V1beta";
25
28
 
26
29
  // Represents the task the embeddings will be used for.
27
30
  enum EmbeddingTaskType {
@@ -30,10 +30,13 @@ import "google/protobuf/struct.proto";
30
30
  import "google/protobuf/timestamp.proto";
31
31
  import "google/rpc/status.proto";
32
32
 
33
+ option csharp_namespace = "Google.Cloud.VectorSearch.V1Beta";
33
34
  option go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
34
35
  option java_multiple_files = true;
35
36
  option java_outer_classname = "VectorSearchServiceProto";
36
37
  option java_package = "com.google.cloud.vectorsearch.v1beta";
38
+ option php_namespace = "Google\\Cloud\\VectorSearch\\V1beta";
39
+ option ruby_package = "Google::Cloud::VectorSearch::V1beta";
37
40
 
38
41
  // VectorSearchService provides methods for managing Collection resources, and
39
42
  // Collection Index resources. The primary resources offered by this service are
@@ -412,6 +415,19 @@ message Index {
412
415
  singular: "index"
413
416
  };
414
417
 
418
+ // The infrastructure type of the index.
419
+ oneof infra_type {
420
+ // Optional. Dedicated infrastructure for the index.
421
+ DedicatedInfrastructure dedicated_infrastructure = 11
422
+ [(google.api.field_behavior) = OPTIONAL];
423
+ }
424
+
425
+ // The type of the index.
426
+ oneof index_type {
427
+ // Optional. Dense ScaNN index.
428
+ DenseScannIndex dense_scann = 12 [(google.api.field_behavior) = OPTIONAL];
429
+ }
430
+
415
431
  // Identifier. name of resource
416
432
  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
417
433
 
@@ -434,8 +450,7 @@ message Index {
434
450
 
435
451
  // Optional. Distance metric used for indexing. If not specified, will default
436
452
  // to DOT_PRODUCT.
437
- google.cloud.vectorsearch.v1beta.DistanceMetric distance_metric = 4
438
- [(google.api.field_behavior) = OPTIONAL];
453
+ DistanceMetric distance_metric = 4 [(google.api.field_behavior) = OPTIONAL];
439
454
 
440
455
  // Required. The collection schema field to index.
441
456
  string index_field = 5 [(google.api.field_behavior) = REQUIRED];
@@ -634,17 +649,19 @@ message ImportDataObjectsRequest {
634
649
  // Metadata for
635
650
  // [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1beta.VectorSearchService.ImportDataObjects].
636
651
  message ImportDataObjectsMetadata {
637
- // The time the operation was created.
638
- google.protobuf.Timestamp create_time = 1;
652
+ // Output only. The time the operation was created.
653
+ google.protobuf.Timestamp create_time = 1
654
+ [(google.api.field_behavior) = OUTPUT_ONLY];
639
655
 
640
- // The time the operation was last updated.
641
- google.protobuf.Timestamp update_time = 2;
656
+ // Output only. The time the operation was last updated.
657
+ google.protobuf.Timestamp update_time = 2
658
+ [(google.api.field_behavior) = OUTPUT_ONLY];
642
659
 
643
- // Number of DataObjects that were processed successfully.
644
- int64 success_count = 3;
660
+ // Output only. Number of DataObjects that were processed successfully.
661
+ int64 success_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
645
662
 
646
- // Number of DataObjects that failed during processing.
647
- int64 failure_count = 4;
663
+ // Output only. Number of DataObjects that failed during processing.
664
+ int64 failure_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
648
665
  }
649
666
 
650
667
  // Response for
@@ -660,7 +677,6 @@ message ExportDataObjectsRequest {
660
677
  // Google Cloud Storage configuration for the export.
661
678
  message GcsExportDestination {
662
679
  // Options for the format of the exported Data Objects.
663
- // New formats may be added in the future.
664
680
  enum Format {
665
681
  // Unspecified format.
666
682
  FORMAT_UNSPECIFIED = 0;
@@ -696,12 +712,66 @@ message ExportDataObjectsRequest {
696
712
 
697
713
  // Metadata for the ExportDataObjects LRO.
698
714
  message ExportDataObjectsMetadata {
699
- // The time the operation was created.
700
- google.protobuf.Timestamp create_time = 1;
715
+ // Output only. The time the operation was created.
716
+ google.protobuf.Timestamp create_time = 1
717
+ [(google.api.field_behavior) = OUTPUT_ONLY];
701
718
 
702
- // The time the operation finished.
703
- google.protobuf.Timestamp finish_time = 2;
719
+ // Output only. The time the operation finished.
720
+ google.protobuf.Timestamp finish_time = 2
721
+ [(google.api.field_behavior) = OUTPUT_ONLY];
704
722
  }
705
723
 
706
724
  // Response for the ExportDataObjects LRO.
707
725
  message ExportDataObjectsResponse {}
726
+
727
+ // Represents dedicated infrastructure for the index.
728
+ message DedicatedInfrastructure {
729
+ // Specification for autoscaling.
730
+ message AutoscalingSpec {
731
+ // Optional. The minimum number of replicas. If not set or set to `0`,
732
+ // defaults to `2`. Must be >= `2` and <= `1000`.
733
+ int32 min_replica_count = 1 [(google.api.field_behavior) = OPTIONAL];
734
+
735
+ // Optional. The maximum number of replicas. If not set or set to `0`,
736
+ // defaults to the greater of `min_replica_count` and `5`. Must be >=
737
+ // `min_replica_count` and <= `1000`.
738
+ int32 max_replica_count = 2 [(google.api.field_behavior) = OPTIONAL];
739
+ }
740
+
741
+ // Mode of the dedicated infrastructure.
742
+ enum Mode {
743
+ // Default will use `PERFORMANCE_OPTIMIZED`.
744
+ MODE_UNSPECIFIED = 0;
745
+
746
+ // This is storage optimized variation.
747
+ STORAGE_OPTIMIZED = 1;
748
+
749
+ // This is Performance optimized on E2 or equivalent family.
750
+ PERFORMANCE_OPTIMIZED = 2;
751
+ }
752
+
753
+ // Optional. Mode of the dedicated infrastructure.
754
+ optional Mode mode = 1 [(google.api.field_behavior) = OPTIONAL];
755
+
756
+ // Optional. Autoscaling specification.
757
+ AutoscalingSpec autoscaling_spec = 2 [(google.api.field_behavior) = OPTIONAL];
758
+ }
759
+
760
+ // Dense ScaNN index configuration.
761
+ message DenseScannIndex {
762
+ // Feature norm type for ScaNN index.
763
+ enum FeatureNormType {
764
+ // Unspecified feature norm type.
765
+ FEATURE_NORM_TYPE_UNSPECIFIED = 0;
766
+
767
+ // No norm applied.
768
+ NONE = 1;
769
+
770
+ // Unit L2 norm.
771
+ UNIT_L2_NORM = 2;
772
+ }
773
+
774
+ // Optional. Feature norm type.
775
+ FeatureNormType feature_norm_type = 2
776
+ [(google.api.field_behavior) = OPTIONAL];
777
+ }