google-cloud-vector_search-v1 0.4.0 → 0.6.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.
- checksums.yaml +4 -4
- data/README.md +4 -6
- data/lib/google/cloud/vector_search/v1/data_object_search_service/client.rb +32 -4
- data/lib/google/cloud/vector_search/v1/data_object_search_service/credentials.rb +3 -1
- data/lib/google/cloud/vector_search/v1/data_object_search_service/rest/client.rb +32 -4
- data/lib/google/cloud/vector_search/v1/data_object_service/credentials.rb +3 -1
- data/lib/google/cloud/vector_search/v1/vector_search_service/credentials.rb +3 -1
- data/lib/google/cloud/vector_search/v1/version.rb +1 -1
- data/lib/google/cloud/vectorsearch/v1/common_pb.rb +3 -1
- data/lib/google/cloud/vectorsearch/v1/data_object_search_service_pb.rb +9 -1
- data/lib/google/cloud/vectorsearch/v1/data_object_service_pb.rb +1 -1
- data/lib/google/cloud/vectorsearch/v1/vectorsearch_service_pb.rb +1 -1
- data/proto_docs/google/cloud/vectorsearch/v1/data_object_search_service.rb +251 -12
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ab7f360bdb13fd340817f389af8acadbdd48332d8ad246eb018b0b1dce02c585
|
|
4
|
+
data.tar.gz: b1a935f377e334734a782d21da99216bda3a889a919bbba8f06ff6b5691c330e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a915e6a734b67e0a3892633c6327bebfdaf4b570c47035e048b224ee0e20a2a56bfe689786049523b58c0a77dd086a4be60d4224f3d6a2a10728d2d022231315
|
|
7
|
+
data.tar.gz: 9e360af7d2c0021cb26c7dfcc37dd9e9dead5de1f9c668c7f099fa31b2bb1f0c773b665c0c13133e8b6bb33011921d3dba941390777c425b86aa9c64b2ebe880
|
data/README.md
CHANGED
|
@@ -87,12 +87,10 @@ To browse ready to use code samples check [Google Cloud Samples](https://cloud.g
|
|
|
87
87
|
|
|
88
88
|
This library is supported on Ruby 3.2+.
|
|
89
89
|
|
|
90
|
-
Google provides official support for Ruby versions
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby
|
|
95
|
-
support schedule.
|
|
90
|
+
Google provides official support for Ruby versions as described in the
|
|
91
|
+
[Supported Ruby versions](https://docs.cloud.google.com/ruby/getting-started/supported-ruby-versions)
|
|
92
|
+
policy. Older versions of Ruby _may_ still work, but are unsupported and not
|
|
93
|
+
recommended.
|
|
96
94
|
|
|
97
95
|
## Which client should I use?
|
|
98
96
|
|
|
@@ -356,8 +356,22 @@ module Google
|
|
|
356
356
|
# Required. The resource name of the Collection for which to query.
|
|
357
357
|
# Format: `projects/{project}/locations/{location}/collections/{collection}`
|
|
358
358
|
# @param filter [::Google::Protobuf::Struct, ::Hash]
|
|
359
|
-
# Optional. A JSON filter expression, e.g.
|
|
360
|
-
# represented as a google.protobuf.Struct
|
|
359
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
360
|
+
# represented as a `google.protobuf.Struct`.
|
|
361
|
+
#
|
|
362
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
363
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
364
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
365
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
366
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
367
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
368
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
369
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
370
|
+
# use `$and` and `$eq` instead.
|
|
371
|
+
#
|
|
372
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
373
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
374
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
361
375
|
# @param output_fields [::Google::Cloud::VectorSearch::V1::OutputFields, ::Hash]
|
|
362
376
|
# Optional. Mask specifying which fields to return.
|
|
363
377
|
# @param page_size [::Integer]
|
|
@@ -463,8 +477,22 @@ module Google
|
|
|
463
477
|
# Required. The resource name of the Collection for which to query.
|
|
464
478
|
# Format: `projects/{project}/locations/{location}/collections/{collection}`
|
|
465
479
|
# @param filter [::Google::Protobuf::Struct, ::Hash]
|
|
466
|
-
# Optional. A JSON filter expression, e.g.
|
|
467
|
-
# represented as a google.protobuf.Struct
|
|
480
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
481
|
+
# represented as a `google.protobuf.Struct`.
|
|
482
|
+
#
|
|
483
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
484
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
485
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
486
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
487
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
488
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
489
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
490
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
491
|
+
# use `$and` and `$eq` instead.
|
|
492
|
+
#
|
|
493
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
494
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
495
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
468
496
|
# @param aggregate [::Google::Cloud::VectorSearch::V1::AggregationMethod]
|
|
469
497
|
# Required. The aggregation method to apply to the query.
|
|
470
498
|
#
|
|
@@ -26,7 +26,9 @@ module Google
|
|
|
26
26
|
# Credentials for the DataObjectSearchService API.
|
|
27
27
|
class Credentials < ::Google::Auth::Credentials
|
|
28
28
|
self.scope = [
|
|
29
|
-
"https://www.googleapis.com/auth/cloud-platform"
|
|
29
|
+
"https://www.googleapis.com/auth/cloud-platform",
|
|
30
|
+
"https://www.googleapis.com/auth/vectorsearch",
|
|
31
|
+
"https://www.googleapis.com/auth/vectorsearch.readonly"
|
|
30
32
|
]
|
|
31
33
|
self.env_vars = [
|
|
32
34
|
"GOOGLE_CLOUD_CREDENTIALS",
|
|
@@ -343,8 +343,22 @@ module Google
|
|
|
343
343
|
# Required. The resource name of the Collection for which to query.
|
|
344
344
|
# Format: `projects/{project}/locations/{location}/collections/{collection}`
|
|
345
345
|
# @param filter [::Google::Protobuf::Struct, ::Hash]
|
|
346
|
-
# Optional. A JSON filter expression, e.g.
|
|
347
|
-
# represented as a google.protobuf.Struct
|
|
346
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
347
|
+
# represented as a `google.protobuf.Struct`.
|
|
348
|
+
#
|
|
349
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
350
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
351
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
352
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
353
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
354
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
355
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
356
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
357
|
+
# use `$and` and `$eq` instead.
|
|
358
|
+
#
|
|
359
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
360
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
361
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
348
362
|
# @param output_fields [::Google::Cloud::VectorSearch::V1::OutputFields, ::Hash]
|
|
349
363
|
# Optional. Mask specifying which fields to return.
|
|
350
364
|
# @param page_size [::Integer]
|
|
@@ -443,8 +457,22 @@ module Google
|
|
|
443
457
|
# Required. The resource name of the Collection for which to query.
|
|
444
458
|
# Format: `projects/{project}/locations/{location}/collections/{collection}`
|
|
445
459
|
# @param filter [::Google::Protobuf::Struct, ::Hash]
|
|
446
|
-
# Optional. A JSON filter expression, e.g.
|
|
447
|
-
# represented as a google.protobuf.Struct
|
|
460
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
461
|
+
# represented as a `google.protobuf.Struct`.
|
|
462
|
+
#
|
|
463
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
464
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
465
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
466
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
467
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
468
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
469
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
470
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
471
|
+
# use `$and` and `$eq` instead.
|
|
472
|
+
#
|
|
473
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
474
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
475
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
448
476
|
# @param aggregate [::Google::Cloud::VectorSearch::V1::AggregationMethod]
|
|
449
477
|
# Required. The aggregation method to apply to the query.
|
|
450
478
|
# @yield [result, operation] Access the result along with the TransportOperation object
|
|
@@ -26,7 +26,9 @@ module Google
|
|
|
26
26
|
# Credentials for the DataObjectService API.
|
|
27
27
|
class Credentials < ::Google::Auth::Credentials
|
|
28
28
|
self.scope = [
|
|
29
|
-
"https://www.googleapis.com/auth/cloud-platform"
|
|
29
|
+
"https://www.googleapis.com/auth/cloud-platform",
|
|
30
|
+
"https://www.googleapis.com/auth/vectorsearch",
|
|
31
|
+
"https://www.googleapis.com/auth/vectorsearch.readonly"
|
|
30
32
|
]
|
|
31
33
|
self.env_vars = [
|
|
32
34
|
"GOOGLE_CLOUD_CREDENTIALS",
|
|
@@ -26,7 +26,9 @@ module Google
|
|
|
26
26
|
# Credentials for the VectorSearchService API.
|
|
27
27
|
class Credentials < ::Google::Auth::Credentials
|
|
28
28
|
self.scope = [
|
|
29
|
-
"https://www.googleapis.com/auth/cloud-platform"
|
|
29
|
+
"https://www.googleapis.com/auth/cloud-platform",
|
|
30
|
+
"https://www.googleapis.com/auth/vectorsearch",
|
|
31
|
+
"https://www.googleapis.com/auth/vectorsearch.readonly"
|
|
30
32
|
]
|
|
31
33
|
self.env_vars = [
|
|
32
34
|
"GOOGLE_CLOUD_CREDENTIALS",
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
require 'google/protobuf'
|
|
6
6
|
|
|
7
|
+
require 'google/api/field_behavior_pb'
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
|
|
10
|
+
descriptor_data = "\n)google/cloud/vectorsearch/v1/common.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1fgoogle/api/field_behavior.proto*W\n\x0e\x44istanceMetric\x12\x1f\n\x1b\x44ISTANCE_METRIC_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x44OT_PRODUCT\x10\x01\x12\x13\n\x0f\x43OSINE_DISTANCE\x10\x02\x42\xd7\x01\n com.google.cloud.vectorsearch.v1B\x0b\x43ommonProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
|
|
9
11
|
|
|
10
12
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
11
13
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -14,7 +14,7 @@ require 'google/cloud/vectorsearch/v1/embedding_config_pb'
|
|
|
14
14
|
require 'google/protobuf/struct_pb'
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
descriptor_data = "\n=google/cloud/vectorsearch/v1/data_object_search_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/vectorsearch/v1/common.proto\x1a.google/cloud/vectorsearch/v1/data_object.proto\x1a\x33google/cloud/vectorsearch/v1/embedding_config.proto\x1a\x1cgoogle/protobuf/struct.proto\"e\n\x0cOutputFields\x12\x19\n\x0b\x64\x61ta_fields\x18\x01 \x03(\tB\x04\xe2\x41\x01\x01\x12\x1b\n\rvector_fields\x18\x02 \x03(\tB\x04\xe2\x41\x01\x01\x12\x1d\n\x0fmetadata_fields\x18\x03 \x03(\tB\x04\xe2\x41\x01\x01\"\xc4\x03\n\nSearchHint\x12J\n\x08knn_hint\x18\x03 \x01(\x0b\x32\x30.google.cloud.vectorsearch.v1.SearchHint.KnnHintB\x04\xe2\x41\x01\x01H\x00\x12N\n\nindex_hint\x18\x04 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.SearchHint.IndexHintB\x04\xe2\x41\x01\x01H\x00\x1a\x80\x02\n\tIndexHint\x12g\n\x12\x64\x65nse_scann_params\x18\x02 \x01(\x0b\x32\x43.google.cloud.vectorsearch.v1.SearchHint.IndexHint.DenseScannParamsB\x04\xe2\x41\x01\x01H\x00\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\x1a\x46\n\x10\x44\x65nseScannParams\x12 \n\rtarget_recall\x18\x03 \x01(\x01\x42\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x42\x10\n\x0e_target_recallB\x08\n\x06params\x1a\t\n\x07KnnHintB\x0c\n\nindex_type\"\xe6\x01\n\x06Search\x12\x43\n\rvector_search\x18\x01 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x02 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12?\n\x0btext_search\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchH\x00\x42\r\n\x0bsearch_type\"\xe9\x03\n\x0cVectorSearch\x12;\n\x06vector\x18\x01 \x01(\x0b\x32).google.cloud.vectorsearch.v1.DenseVectorH\x00\x12\x43\n\rsparse_vector\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.SparseVectorH\x00\x12\x1a\n\x0csearch_field\x18\x08 \x01(\tB\x04\xe2\x41\x01\x02\x12-\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12\x18\n\x05top_k\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x01H\x01\x88\x01\x01\x12G\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x43\n\x0bsearch_hint\x18\t \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x04\xe2\x41\x01\x01\x12K\n\x0f\x64istance_metric\x18\x0b \x01(\x0e\x32,.google.cloud.vectorsearch.v1.DistanceMetricB\x04\xe2\x41\x01\x01\x42\r\n\x0bvector_typeB\x08\n\x06_top_k\"\xf2\x02\n\x0eSemanticSearch\x12\x19\n\x0bsearch_text\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1a\n\x0csearch_field\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12H\n\ttask_type\x18\x05 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x04\xe2\x41\x01\x01\x12G\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12-\n\x06\x66ilter\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12\x18\n\x05top_k\x18\x04 \x01(\x05\x42\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x12\x43\n\x0bsearch_hint\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x04\xe2\x41\x01\x01\x42\x08\n\x06_top_k\"\xe3\x01\n\nTextSearch\x12\x19\n\x0bsearch_text\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1e\n\x10\x64\x61ta_field_names\x18\x02 \x03(\tB\x04\xe2\x41\x01\x01\x12G\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x18\n\x05top_k\x18\x04 \x01(\x05\x42\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x12-\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x42\x08\n\x06_top_k\"\xf2\x02\n\x18SearchDataObjectsRequest\x12\x43\n\rvector_search\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x04 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12\x45\n\x0btext_search\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchB\x04\xe2\x41\x01\x01H\x00\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x17\n\tpage_size\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x06 \x01(\tB\x04\xe2\x41\x01\x01\x42\r\n\x0bsearch_type\"}\n\x0cSearchResult\x12\x43\n\x0b\x64\x61ta_object\x18\x01 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x03\x12\x1b\n\x08\x64istance\x18\x02 \x01(\x01\x42\x04\xe2\x41\x01\x03H\x00\x88\x01\x01\x42\x0b\n\t_distance\"}\n\x19SearchDataObjectsResponse\x12\x41\n\x07results\x18\x01 \x03(\x0b\x32*.google.cloud.vectorsearch.v1.SearchResultB\x04\xe2\x41\x01\x03\x12\x1d\n\x0fnext_page_token\x18\x02 \x01(\tB\x04\xe2\x41\x01\x03\"\xd7\x01\n\x1b\x41ggregateDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12-\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12H\n\taggregate\x18\x03 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.AggregationMethodB\x04\xe2\x41\x01\x02\"X\n\x1c\x41ggregateDataObjectsResponse\x12\x38\n\x11\x61ggregate_results\x18\x01 \x03(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x03\"\x85\x02\n\x17QueryDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12-\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12G\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x17\n\tpage_size\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x06 \x01(\tB\x04\xe2\x41\x01\x01\"\x7f\n\x18QueryDataObjectsResponse\x12\x44\n\x0c\x64\x61ta_objects\x18\x04 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x03\x12\x1d\n\x0fnext_page_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x03\"\xbc\x03\n\x1d\x42\x61tchSearchDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12<\n\x08searches\x18\x02 \x03(\x0b\x32$.google.cloud.vectorsearch.v1.SearchB\x04\xe2\x41\x01\x02\x12h\n\x07\x63ombine\x18\x03 \x01(\x0b\x32Q.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest.CombineResultsOptionsB\x04\xe2\x41\x01\x01\x1a\xb1\x01\n\x15\x43ombineResultsOptions\x12:\n\x06ranker\x18\x01 \x01(\x0b\x32$.google.cloud.vectorsearch.v1.RankerB\x04\xe2\x41\x01\x02\x12G\n\routput_fields\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x13\n\x05top_k\x18\x03 \x01(\x05\x42\x04\xe2\x41\x01\x01\"\xac\x01\n\x06Ranker\x12\x41\n\x03rrf\x18\x01 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.ReciprocalRankFusionH\x00\x12I\n\rvertex_ranker\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VertexRankerB\x04\xe2\x41\x01\x01H\x01\x42\x08\n\x06rankerB\n\n\x08reranker\"-\n\x14ReciprocalRankFusion\x12\x15\n\x07weights\x18\x01 \x03(\x01\x42\x04\xe2\x41\x01\x02\"\x83\x02\n\x0cVertexRanker\x12U\n\x10text_record_spec\x18\x06 \x01(\x0b\x32\x39.google.cloud.vectorsearch.v1.VertexRanker.TextRecordSpecH\x00\x12\x13\n\x05model\x18\x04 \x01(\tB\x04\xe2\x41\x01\x02\x12\x13\n\x05top_n\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x02\x1a\x63\n\x0eTextRecordSpec\x12\x13\n\x05query\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x1c\n\x0etitle_template\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1e\n\x10\x63ontent_template\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x42\r\n\x0brecord_spec\"p\n\x1e\x42\x61tchSearchDataObjectsResponse\x12N\n\x07results\x18\x01 \x03(\x0b\x32\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponseB\x04\xe2\x41\x01\x03*B\n\x11\x41ggregationMethod\x12\"\n\x1e\x41GGREGATION_METHOD_UNSPECIFIED\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x32\xe6\x07\n\x17\x44\x61taObjectSearchService\x12\xd5\x01\n\x11SearchDataObjects\x12\x36.google.cloud.vectorsearch.v1.SearchDataObjectsRequest\x1a\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponse\"O\x82\xd3\xe4\x93\x02I\"D/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:search:\x01*\x12\xd1\x01\n\x10QueryDataObjects\x12\x35.google.cloud.vectorsearch.v1.QueryDataObjectsRequest\x1a\x36.google.cloud.vectorsearch.v1.QueryDataObjectsResponse\"N\x82\xd3\xe4\x93\x02H\"C/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:query:\x01*\x12\xe1\x01\n\x14\x41ggregateDataObjects\x12\x39.google.cloud.vectorsearch.v1.AggregateDataObjectsRequest\x1a:.google.cloud.vectorsearch.v1.AggregateDataObjectsResponse\"R\x82\xd3\xe4\x93\x02L\"G/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:aggregate:\x01*\x12\xe9\x01\n\x16\x42\x61tchSearchDataObjects\x12;.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest\x1a<.google.cloud.vectorsearch.v1.BatchSearchDataObjectsResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchSearch:\x01*\x1aO\xca\x41\x1bvectorsearch.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe8\x01\n com.google.cloud.vectorsearch.v1B\x1c\x44\x61taObjectSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
|
|
17
|
+
descriptor_data = "\n=google/cloud/vectorsearch/v1/data_object_search_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/vectorsearch/v1/common.proto\x1a.google/cloud/vectorsearch/v1/data_object.proto\x1a\x33google/cloud/vectorsearch/v1/embedding_config.proto\x1a\x1cgoogle/protobuf/struct.proto\"e\n\x0cOutputFields\x12\x19\n\x0b\x64\x61ta_fields\x18\x01 \x03(\tB\x04\xe2\x41\x01\x01\x12\x1b\n\rvector_fields\x18\x02 \x03(\tB\x04\xe2\x41\x01\x01\x12\x1d\n\x0fmetadata_fields\x18\x03 \x03(\tB\x04\xe2\x41\x01\x01\"\xc4\x03\n\nSearchHint\x12J\n\x08knn_hint\x18\x03 \x01(\x0b\x32\x30.google.cloud.vectorsearch.v1.SearchHint.KnnHintB\x04\xe2\x41\x01\x01H\x00\x12N\n\nindex_hint\x18\x04 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.SearchHint.IndexHintB\x04\xe2\x41\x01\x01H\x00\x1a\x80\x02\n\tIndexHint\x12g\n\x12\x64\x65nse_scann_params\x18\x02 \x01(\x0b\x32\x43.google.cloud.vectorsearch.v1.SearchHint.IndexHint.DenseScannParamsB\x04\xe2\x41\x01\x01H\x00\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\x1a\x46\n\x10\x44\x65nseScannParams\x12 \n\rtarget_recall\x18\x03 \x01(\x01\x42\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x42\x10\n\x0e_target_recallB\x08\n\x06params\x1a\t\n\x07KnnHintB\x0c\n\nindex_type\"\xe6\x01\n\x06Search\x12\x43\n\rvector_search\x18\x01 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x02 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12?\n\x0btext_search\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchH\x00\x42\r\n\x0bsearch_type\"\xe9\x03\n\x0cVectorSearch\x12;\n\x06vector\x18\x01 \x01(\x0b\x32).google.cloud.vectorsearch.v1.DenseVectorH\x00\x12\x43\n\rsparse_vector\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.SparseVectorH\x00\x12\x1a\n\x0csearch_field\x18\x08 \x01(\tB\x04\xe2\x41\x01\x02\x12-\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12\x18\n\x05top_k\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x01H\x01\x88\x01\x01\x12G\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x43\n\x0bsearch_hint\x18\t \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x04\xe2\x41\x01\x01\x12K\n\x0f\x64istance_metric\x18\x0b \x01(\x0e\x32,.google.cloud.vectorsearch.v1.DistanceMetricB\x04\xe2\x41\x01\x01\x42\r\n\x0bvector_typeB\x08\n\x06_top_k\"\xf2\x02\n\x0eSemanticSearch\x12\x19\n\x0bsearch_text\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1a\n\x0csearch_field\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12H\n\ttask_type\x18\x05 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.EmbeddingTaskTypeB\x04\xe2\x41\x01\x01\x12G\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12-\n\x06\x66ilter\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12\x18\n\x05top_k\x18\x04 \x01(\x05\x42\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x12\x43\n\x0bsearch_hint\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.SearchHintB\x04\xe2\x41\x01\x01\x42\x08\n\x06_top_k\"\xb2\x02\n\nTextSearch\x12\x19\n\x0bsearch_text\x18\x01 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1e\n\x10\x64\x61ta_field_names\x18\x02 \x03(\tB\x04\xe2\x41\x01\x01\x12G\n\routput_fields\x18\x03 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x18\n\x05top_k\x18\x04 \x01(\x05\x42\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x12-\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12M\n\x10structured_query\x18\x06 \x01(\x0b\x32-.google.cloud.vectorsearch.v1.StructuredQueryB\x04\xe2\x41\x01\x01\x42\x08\n\x06_top_k\"\xfa\x01\n\x0fStructuredQuery\x12=\n\x04text\x18\x01 \x01(\x0b\x32\'.google.cloud.vectorsearch.v1.TextQueryB\x04\xe2\x41\x01\x01H\x00\x12?\n\x05unary\x18\x02 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.UnaryQueryB\x04\xe2\x41\x01\x01H\x00\x12\x44\n\x07\x63ombine\x18\x03 \x01(\x0b\x32+.google.cloud.vectorsearch.v1.CombinedQueryB\x04\xe2\x41\x01\x01H\x00\x12\x13\n\x05\x62oost\x18\x04 \x01(\x02\x42\x04\xe2\x41\x01\x01\x42\x0c\n\nquery_type\"\x91\x02\n\tTextQuery\x12\x12\n\x04text\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x14\n\x06\x66ields\x18\x02 \x03(\tB\x04\xe2\x41\x01\x02\x12K\n\nmatch_type\x18\x03 \x01(\x0e\x32\x31.google.cloud.vectorsearch.v1.TextQuery.MatchTypeB\x04\xe2\x41\x01\x01\x12O\n\x11query_enhancement\x18\x04 \x01(\x0b\x32..google.cloud.vectorsearch.v1.QueryEnhancementB\x04\xe2\x41\x01\x01\"<\n\tMatchType\x12\x1a\n\x16MATCH_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04TEXT\x10\x01\x12\t\n\x05\x45XACT\x10\x02\"F\n\x10QueryEnhancement\x12\x15\n\x07\x65nabled\x18\x01 \x01(\x08\x42\x04\xe2\x41\x01\x01\x12\x1b\n\rlanguage_code\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\"\xc8\x01\n\nUnaryQuery\x12\x43\n\x02op\x18\x01 \x01(\x0e\x32\x31.google.cloud.vectorsearch.v1.UnaryQuery.OperatorB\x04\xe2\x41\x01\x02\x12\x46\n\tsub_query\x18\x02 \x01(\x0b\x32-.google.cloud.vectorsearch.v1.StructuredQueryB\x04\xe2\x41\x01\x02\"-\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x07\n\x03NOT\x10\x01\"\xd8\x01\n\rCombinedQuery\x12\x46\n\x02op\x18\x01 \x01(\x0e\x32\x34.google.cloud.vectorsearch.v1.CombinedQuery.OperatorB\x04\xe2\x41\x01\x02\x12H\n\x0bsub_queries\x18\x02 \x03(\x0b\x32-.google.cloud.vectorsearch.v1.StructuredQueryB\x04\xe2\x41\x01\x02\"5\n\x08Operator\x12\x18\n\x14OPERATOR_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\"\xf2\x02\n\x18SearchDataObjectsRequest\x12\x43\n\rvector_search\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VectorSearchH\x00\x12G\n\x0fsemantic_search\x18\x04 \x01(\x0b\x32,.google.cloud.vectorsearch.v1.SemanticSearchH\x00\x12\x45\n\x0btext_search\x18\x07 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.TextSearchB\x04\xe2\x41\x01\x01H\x00\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x17\n\tpage_size\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x06 \x01(\tB\x04\xe2\x41\x01\x01\x42\r\n\x0bsearch_type\"}\n\x0cSearchResult\x12\x43\n\x0b\x64\x61ta_object\x18\x01 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x03\x12\x1b\n\x08\x64istance\x18\x02 \x01(\x01\x42\x04\xe2\x41\x01\x03H\x00\x88\x01\x01\x42\x0b\n\t_distance\"}\n\x19SearchDataObjectsResponse\x12\x41\n\x07results\x18\x01 \x03(\x0b\x32*.google.cloud.vectorsearch.v1.SearchResultB\x04\xe2\x41\x01\x03\x12\x1d\n\x0fnext_page_token\x18\x02 \x01(\tB\x04\xe2\x41\x01\x03\"\xd7\x01\n\x1b\x41ggregateDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12-\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12H\n\taggregate\x18\x03 \x01(\x0e\x32/.google.cloud.vectorsearch.v1.AggregationMethodB\x04\xe2\x41\x01\x02\"X\n\x1c\x41ggregateDataObjectsResponse\x12\x38\n\x11\x61ggregate_results\x18\x01 \x03(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x03\"\x85\x02\n\x17QueryDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12-\n\x06\x66ilter\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12G\n\routput_fields\x18\x07 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x17\n\tpage_size\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x06 \x01(\tB\x04\xe2\x41\x01\x01\"\x7f\n\x18QueryDataObjectsResponse\x12\x44\n\x0c\x64\x61ta_objects\x18\x04 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x03\x12\x1d\n\x0fnext_page_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x03\"\xbc\x03\n\x1d\x42\x61tchSearchDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12<\n\x08searches\x18\x02 \x03(\x0b\x32$.google.cloud.vectorsearch.v1.SearchB\x04\xe2\x41\x01\x02\x12h\n\x07\x63ombine\x18\x03 \x01(\x0b\x32Q.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest.CombineResultsOptionsB\x04\xe2\x41\x01\x01\x1a\xb1\x01\n\x15\x43ombineResultsOptions\x12:\n\x06ranker\x18\x01 \x01(\x0b\x32$.google.cloud.vectorsearch.v1.RankerB\x04\xe2\x41\x01\x02\x12G\n\routput_fields\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.OutputFieldsB\x04\xe2\x41\x01\x01\x12\x13\n\x05top_k\x18\x03 \x01(\x05\x42\x04\xe2\x41\x01\x01\"\xac\x01\n\x06Ranker\x12\x41\n\x03rrf\x18\x01 \x01(\x0b\x32\x32.google.cloud.vectorsearch.v1.ReciprocalRankFusionH\x00\x12I\n\rvertex_ranker\x18\x02 \x01(\x0b\x32*.google.cloud.vectorsearch.v1.VertexRankerB\x04\xe2\x41\x01\x01H\x01\x42\x08\n\x06rankerB\n\n\x08reranker\"-\n\x14ReciprocalRankFusion\x12\x15\n\x07weights\x18\x01 \x03(\x01\x42\x04\xe2\x41\x01\x02\"\x83\x02\n\x0cVertexRanker\x12U\n\x10text_record_spec\x18\x06 \x01(\x0b\x32\x39.google.cloud.vectorsearch.v1.VertexRanker.TextRecordSpecH\x00\x12\x13\n\x05model\x18\x04 \x01(\tB\x04\xe2\x41\x01\x02\x12\x13\n\x05top_n\x18\x05 \x01(\x05\x42\x04\xe2\x41\x01\x02\x1a\x63\n\x0eTextRecordSpec\x12\x13\n\x05query\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x1c\n\x0etitle_template\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\x12\x1e\n\x10\x63ontent_template\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x42\r\n\x0brecord_spec\"p\n\x1e\x42\x61tchSearchDataObjectsResponse\x12N\n\x07results\x18\x01 \x03(\x0b\x32\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponseB\x04\xe2\x41\x01\x03*B\n\x11\x41ggregationMethod\x12\"\n\x1e\x41GGREGATION_METHOD_UNSPECIFIED\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x32\xcb\x08\n\x17\x44\x61taObjectSearchService\x12\xd5\x01\n\x11SearchDataObjects\x12\x36.google.cloud.vectorsearch.v1.SearchDataObjectsRequest\x1a\x37.google.cloud.vectorsearch.v1.SearchDataObjectsResponse\"O\x82\xd3\xe4\x93\x02I\"D/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:search:\x01*\x12\xd1\x01\n\x10QueryDataObjects\x12\x35.google.cloud.vectorsearch.v1.QueryDataObjectsRequest\x1a\x36.google.cloud.vectorsearch.v1.QueryDataObjectsResponse\"N\x82\xd3\xe4\x93\x02H\"C/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:query:\x01*\x12\xe1\x01\n\x14\x41ggregateDataObjects\x12\x39.google.cloud.vectorsearch.v1.AggregateDataObjectsRequest\x1a:.google.cloud.vectorsearch.v1.AggregateDataObjectsResponse\"R\x82\xd3\xe4\x93\x02L\"G/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:aggregate:\x01*\x12\xe9\x01\n\x16\x42\x61tchSearchDataObjects\x12;.google.cloud.vectorsearch.v1.BatchSearchDataObjectsRequest\x1a<.google.cloud.vectorsearch.v1.BatchSearchDataObjectsResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchSearch:\x01*\x1a\xb3\x01\xca\x41\x1bvectorsearch.googleapis.com\xd2\x41\x91\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/vectorsearch,https://www.googleapis.com/auth/vectorsearch.readonlyB\xe8\x01\n com.google.cloud.vectorsearch.v1B\x1c\x44\x61taObjectSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
|
|
18
18
|
|
|
19
19
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
20
20
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -32,6 +32,14 @@ module Google
|
|
|
32
32
|
VectorSearch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.VectorSearch").msgclass
|
|
33
33
|
SemanticSearch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SemanticSearch").msgclass
|
|
34
34
|
TextSearch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.TextSearch").msgclass
|
|
35
|
+
StructuredQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.StructuredQuery").msgclass
|
|
36
|
+
TextQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.TextQuery").msgclass
|
|
37
|
+
TextQuery::MatchType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.TextQuery.MatchType").enummodule
|
|
38
|
+
QueryEnhancement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.QueryEnhancement").msgclass
|
|
39
|
+
UnaryQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.UnaryQuery").msgclass
|
|
40
|
+
UnaryQuery::Operator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.UnaryQuery.Operator").enummodule
|
|
41
|
+
CombinedQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.CombinedQuery").msgclass
|
|
42
|
+
CombinedQuery::Operator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.CombinedQuery.Operator").enummodule
|
|
35
43
|
SearchDataObjectsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SearchDataObjectsRequest").msgclass
|
|
36
44
|
SearchResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SearchResult").msgclass
|
|
37
45
|
SearchDataObjectsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.vectorsearch.v1.SearchDataObjectsResponse").msgclass
|
|
@@ -13,7 +13,7 @@ require 'google/protobuf/empty_pb'
|
|
|
13
13
|
require 'google/protobuf/field_mask_pb'
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
descriptor_data = "\n6google/cloud/vectorsearch/v1/data_object_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a.google/cloud/vectorsearch/v1/data_object.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\xbd\x01\n\x17\x43reateDataObjectRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x1c\n\x0e\x64\x61ta_object_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x43\n\x0b\x64\x61ta_object\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x02\"\xaf\x01\n\x1d\x42\x61tchCreateDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12M\n\x08requests\x18\x02 \x03(\x0b\x32\x35.google.cloud.vectorsearch.v1.CreateDataObjectRequestB\x04\xe2\x41\x01\x02\"f\n\x1e\x42\x61tchCreateDataObjectsResponse\x12\x44\n\x0c\x64\x61ta_objects\x18\x01 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x03\"U\n\x14GetDataObjectRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/DataObject\"\x95\x01\n\x17UpdateDataObjectRequest\x12\x43\n\x0b\x64\x61ta_object\x18\x01 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x02\x12\x35\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x04\xe2\x41\x01\x01\"\xaf\x01\n\x1d\x42\x61tchUpdateDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12M\n\x08requests\x18\x02 \x03(\x0b\x32\x35.google.cloud.vectorsearch.v1.UpdateDataObjectRequestB\x04\xe2\x41\x01\x02\" \n\x1e\x42\x61tchUpdateDataObjectsResponse\"l\n\x17\x44\x65leteDataObjectRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/DataObject\x12\x12\n\x04\x65tag\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\"\xaf\x01\n\x1d\x42\x61tchDeleteDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12M\n\x08requests\x18\x03 \x03(\x0b\x32\x35.google.cloud.vectorsearch.v1.DeleteDataObjectRequestB\x04\xe2\x41\x01\x02\x32\
|
|
16
|
+
descriptor_data = "\n6google/cloud/vectorsearch/v1/data_object_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a.google/cloud/vectorsearch/v1/data_object.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\xbd\x01\n\x17\x43reateDataObjectRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x1c\n\x0e\x64\x61ta_object_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x43\n\x0b\x64\x61ta_object\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x02\"\xaf\x01\n\x1d\x42\x61tchCreateDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12M\n\x08requests\x18\x02 \x03(\x0b\x32\x35.google.cloud.vectorsearch.v1.CreateDataObjectRequestB\x04\xe2\x41\x01\x02\"f\n\x1e\x42\x61tchCreateDataObjectsResponse\x12\x44\n\x0c\x64\x61ta_objects\x18\x01 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x03\"U\n\x14GetDataObjectRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/DataObject\"\x95\x01\n\x17UpdateDataObjectRequest\x12\x43\n\x0b\x64\x61ta_object\x18\x01 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.DataObjectB\x04\xe2\x41\x01\x02\x12\x35\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x04\xe2\x41\x01\x01\"\xaf\x01\n\x1d\x42\x61tchUpdateDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12M\n\x08requests\x18\x02 \x03(\x0b\x32\x35.google.cloud.vectorsearch.v1.UpdateDataObjectRequestB\x04\xe2\x41\x01\x02\" \n\x1e\x42\x61tchUpdateDataObjectsResponse\"l\n\x17\x44\x65leteDataObjectRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/DataObject\x12\x12\n\x04\x65tag\x18\x02 \x01(\tB\x04\xe2\x41\x01\x01\"\xaf\x01\n\x1d\x42\x61tchDeleteDataObjectsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12M\n\x08requests\x18\x03 \x03(\x0b\x32\x35.google.cloud.vectorsearch.v1.DeleteDataObjectRequestB\x04\xe2\x41\x01\x02\x32\xd9\r\n\x11\x44\x61taObjectService\x12\xeb\x01\n\x10\x43reateDataObject\x12\x35.google.cloud.vectorsearch.v1.CreateDataObjectRequest\x1a(.google.cloud.vectorsearch.v1.DataObject\"v\xda\x41!parent,data_object,data_object_id\x82\xd3\xe4\x93\x02L\"=/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:\x0b\x64\x61ta_object\x12\xe9\x01\n\x16\x42\x61tchCreateDataObjects\x12;.google.cloud.vectorsearch.v1.BatchCreateDataObjectsRequest\x1a<.google.cloud.vectorsearch.v1.BatchCreateDataObjectsResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchCreate:\x01*\x12\xbb\x01\n\rGetDataObject\x12\x32.google.cloud.vectorsearch.v1.GetDataObjectRequest\x1a(.google.cloud.vectorsearch.v1.DataObject\"L\xda\x41\x04name\x82\xd3\xe4\x93\x02?\x12=/v1/{name=projects/*/locations/*/collections/*/dataObjects/*}\x12\xed\x01\n\x10UpdateDataObject\x12\x35.google.cloud.vectorsearch.v1.UpdateDataObjectRequest\x1a(.google.cloud.vectorsearch.v1.DataObject\"x\xda\x41\x17\x64\x61ta_object,update_mask\x82\xd3\xe4\x93\x02X2I/v1/{data_object.name=projects/*/locations/*/collections/*/dataObjects/*}:\x0b\x64\x61ta_object\x12\xfb\x01\n\x16\x42\x61tchUpdateDataObjects\x12;.google.cloud.vectorsearch.v1.BatchUpdateDataObjectsRequest\x1a<.google.cloud.vectorsearch.v1.BatchUpdateDataObjectsResponse\"f\xda\x41\x0fparent,requests\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchUpdate:\x01*\x12\xaf\x01\n\x10\x44\x65leteDataObject\x12\x35.google.cloud.vectorsearch.v1.DeleteDataObjectRequest\x1a\x16.google.protobuf.Empty\"L\xda\x41\x04name\x82\xd3\xe4\x93\x02?*=/v1/{name=projects/*/locations/*/collections/*/dataObjects/*}\x12\xd5\x01\n\x16\x42\x61tchDeleteDataObjects\x12;.google.cloud.vectorsearch.v1.BatchDeleteDataObjectsRequest\x1a\x16.google.protobuf.Empty\"f\xda\x41\x0fparent,requests\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/collections/*}/dataObjects:batchDelete:\x01*\x1a\xb3\x01\xca\x41\x1bvectorsearch.googleapis.com\xd2\x41\x91\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/vectorsearch,https://www.googleapis.com/auth/vectorsearch.readonlyB\xe2\x01\n com.google.cloud.vectorsearch.v1B\x16\x44\x61taObjectServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
|
|
17
17
|
|
|
18
18
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
19
19
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -20,7 +20,7 @@ require 'google/protobuf/timestamp_pb'
|
|
|
20
20
|
require 'google/rpc/status_pb'
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
descriptor_data = "\n7google/cloud/vectorsearch/v1/vectorsearch_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/vectorsearch/v1/common.proto\x1a\x33google/cloud/vectorsearch/v1/embedding_config.proto\x1a\x32google/cloud/vectorsearch/v1/encryption_spec.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\x85\x06\n\nCollection\x12\x12\n\x04name\x18\x01 \x01(\tB\x04\xe2\x41\x01\x08\x12\x1a\n\x0c\x64isplay_name\x18\x08 \x01(\tB\x04\xe2\x41\x01\x01\x12\x19\n\x0b\x64\x65scription\x18\t \x01(\tB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12J\n\x06labels\x18\x04 \x03(\x0b\x32\x34.google.cloud.vectorsearch.v1.Collection.LabelsEntryB\x04\xe2\x41\x01\x01\x12W\n\rvector_schema\x18\x07 \x03(\x0b\x32:.google.cloud.vectorsearch.v1.Collection.VectorSchemaEntryB\x04\xe2\x41\x01\x01\x12\x32\n\x0b\x64\x61ta_schema\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12L\n\x0f\x65ncryption_spec\x18\x0b \x01(\x0b\x32,.google.cloud.vectorsearch.v1.EncryptionSpecB\x05\xe2\x41\x02\x05\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a^\n\x11VectorSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.vectorsearch.v1.VectorField:\x02\x38\x01:\x87\x01\xea\x41\x83\x01\n&vectorsearch.googleapis.com/Collection\x12@projects/{project}/locations/{location}/collections/{collection}*\x0b\x63ollections2\ncollection\"\xb5\x01\n\x0bVectorField\x12\x46\n\x0c\x64\x65nse_vector\x18\x03 \x01(\x0b\x32..google.cloud.vectorsearch.v1.DenseVectorFieldH\x00\x12H\n\rsparse_vector\x18\x04 \x01(\x0b\x32/.google.cloud.vectorsearch.v1.SparseVectorFieldH\x00\x42\x14\n\x12vector_type_config\"\x82\x01\n\x10\x44\x65nseVectorField\x12\x12\n\ndimensions\x18\x01 \x01(\x05\x12Z\n\x17vertex_embedding_config\x18\x03 \x01(\x0b\x32\x33.google.cloud.vectorsearch.v1.VertexEmbeddingConfigB\x04\xe2\x41\x01\x01\"\x13\n\x11SparseVectorField\"\xba\x01\n\x16ListCollectionsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\x12&vectorsearch.googleapis.com/Collection\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12\x16\n\x08order_by\x18\x05 \x01(\tB\x04\xe2\x41\x01\x01\"\x8c\x01\n\x17ListCollectionsResponse\x12=\n\x0b\x63ollections\x18\x01 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.Collection\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x19\n\x0bunreachable\x18\x03 \x03(\tB\x04\xe2\x41\x01\x06\"U\n\x14GetCollectionRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\"\xdd\x01\n\x17\x43reateCollectionRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\x12&vectorsearch.googleapis.com/Collection\x12\x1b\n\rcollection_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x42\n\ncollection\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.CollectionB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x04 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xb6\x01\n\x17UpdateCollectionRequest\x12\x35\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x04\xe2\x41\x01\x01\x12\x42\n\ncollection\x18\x02 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.CollectionB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x03 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x8f\x01\n\x17\x44\x65leteCollectionRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x13\n\x05\x66orce\x18\x03 \x01(\x08\x42\x04\xe2\x41\x01\x01\"\xac\x06\n\x05Index\x12_\n\x18\x64\x65\x64icated_infrastructure\x18\x0b \x01(\x0b\x32\x35.google.cloud.vectorsearch.v1.DedicatedInfrastructureB\x04\xe2\x41\x01\x01H\x00\x12J\n\x0b\x64\x65nse_scann\x18\x0c \x01(\x0b\x32-.google.cloud.vectorsearch.v1.DenseScannIndexB\x04\xe2\x41\x01\x01H\x01\x12\x12\n\x04name\x18\x01 \x01(\tB\x04\xe2\x41\x01\x08\x12\x1a\n\x0c\x64isplay_name\x18\x08 \x01(\tB\x04\xe2\x41\x01\x01\x12\x19\n\x0b\x64\x65scription\x18\t \x01(\tB\x04\xe2\x41\x01\x01\x12\x45\n\x06labels\x18\n \x03(\x0b\x32/.google.cloud.vectorsearch.v1.Index.LabelsEntryB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12K\n\x0f\x64istance_metric\x18\x04 \x01(\x0e\x32,.google.cloud.vectorsearch.v1.DistanceMetricB\x04\xe2\x41\x01\x01\x12\x19\n\x0bindex_field\x18\x05 \x01(\tB\x04\xe2\x41\x01\x02\x12\x1b\n\rfilter_fields\x18\x06 \x03(\tB\x04\xe2\x41\x01\x01\x12\x1a\n\x0cstore_fields\x18\x07 \x03(\tB\x04\xe2\x41\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x89\x01\xea\x41\x85\x01\n!vectorsearch.googleapis.com/Index\x12Pprojects/{project}/locations/{location}/collections/{collection}/indexes/{index}*\x07indexes2\x05indexB\x0c\n\ninfra_typeB\x0c\n\nindex_type\"\xc9\x01\n\x12\x43reateIndexRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x16\n\x08index_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x38\n\x05index\x18\x03 \x01(\x0b\x32#.google.cloud.vectorsearch.v1.IndexB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x04 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xa7\x01\n\x12UpdateIndexRequest\x12\x38\n\x05index\x18\x01 \x01(\x0b\x32#.google.cloud.vectorsearch.v1.IndexB\x04\xe2\x41\x01\x02\x12\x35\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x04\xe2\x41\x01\x01\x12 \n\nrequest_id\x18\x03 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"p\n\x12\x44\x65leteIndexRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xb1\x01\n\x12ListIndexesRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\x12!vectorsearch.googleapis.com/Index\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12\x16\n\x08order_by\x18\x05 \x01(\tB\x04\xe2\x41\x01\x01\"d\n\x13ListIndexesResponse\x12\x34\n\x07indexes\x18\x01 \x03(\x0b\x32#.google.cloud.vectorsearch.v1.Index\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"K\n\x0fGetIndexRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\"\x87\x02\n\x11OperationMetadata\x12\x35\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x32\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x14\n\x06target\x18\x03 \x01(\tB\x04\xe2\x41\x01\x03\x12\x12\n\x04verb\x18\x04 \x01(\tB\x04\xe2\x41\x01\x03\x12\x1c\n\x0estatus_message\x18\x05 \x01(\tB\x04\xe2\x41\x01\x03\x12$\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x04\xe2\x41\x01\x03\x12\x19\n\x0b\x61pi_version\x18\x07 \x01(\tB\x04\xe2\x41\x01\x03\"\xa3\x02\n\x18ImportDataObjectsRequest\x12\\\n\ngcs_import\x18\x02 \x01(\x0b\x32\x46.google.cloud.vectorsearch.v1.ImportDataObjectsRequest.GcsImportConfigH\x00\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x1a`\n\x0fGcsImportConfig\x12\x1a\n\x0c\x63ontents_uri\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x17\n\terror_uri\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x18\n\noutput_uri\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x42\x08\n\x06\x63onfig\"\xc3\x01\n\x19ImportDataObjectsMetadata\x12\x35\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x1b\n\rsuccess_count\x18\x03 \x01(\x03\x42\x04\xe2\x41\x01\x03\x12\x1b\n\rfailure_count\x18\x04 \x01(\x03\x42\x04\xe2\x41\x01\x03\"?\n\x19ImportDataObjectsResponse\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\"\x97\x06\n\x18\x45xportDataObjectsRequest\x12\x66\n\x0fgcs_destination\x18\x02 \x01(\x0b\x32K.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestinationH\x00\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12^\n\x0c\x66ield_filter\x18\x03 \x01(\x0b\x32\x42.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilterB\x04\xe2\x41\x01\x01\x1a\xc7\x01\n\x14GcsExportDestination\x12\x18\n\nexport_uri\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12h\n\x06\x66ormat\x18\x02 \x01(\x0e\x32R.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestination.FormatB\x04\xe2\x41\x01\x02\"+\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\t\n\x05JSONL\x10\x02\x1a\x9a\x02\n\x0b\x46ieldFilter\x12m\n\x0fincluded_fields\x18\x01 \x01(\x0b\x32L.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldListB\x04\xe2\x41\x01\x01H\x00\x12m\n\x0f\x65xcluded_fields\x18\x02 \x01(\x0b\x32L.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldListB\x04\xe2\x41\x01\x01H\x00\x1a!\n\tFieldList\x12\x14\n\x06\x66ields\x18\x01 \x03(\tB\x04\xe2\x41\x01\x02\x42\n\n\x08selectorB\r\n\x0b\x64\x65stination\"\x89\x01\n\x19\x45xportDataObjectsMetadata\x12\x35\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0b\x66inish_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\"\x1b\n\x19\x45xportDataObjectsResponse\"\x83\x03\n\x17\x44\x65\x64icatedInfrastructure\x12S\n\x04mode\x18\x01 \x01(\x0e\x32:.google.cloud.vectorsearch.v1.DedicatedInfrastructure.ModeB\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x12\x65\n\x10\x61utoscaling_spec\x18\x02 \x01(\x0b\x32\x45.google.cloud.vectorsearch.v1.DedicatedInfrastructure.AutoscalingSpecB\x04\xe2\x41\x01\x01\x1aS\n\x0f\x41utoscalingSpec\x12\x1f\n\x11min_replica_count\x18\x01 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x1f\n\x11max_replica_count\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\"N\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11STORAGE_OPTIMIZED\x10\x01\x12\x19\n\x15PERFORMANCE_OPTIMIZED\x10\x02\x42\x07\n\x05_mode\"\xc3\x01\n\x0f\x44\x65nseScannIndex\x12^\n\x11\x66\x65\x61ture_norm_type\x18\x02 \x01(\x0e\x32=.google.cloud.vectorsearch.v1.DenseScannIndex.FeatureNormTypeB\x04\xe2\x41\x01\x01\"P\n\x0f\x46\x65\x61tureNormType\x12!\n\x1d\x46\x45\x41TURE_NORM_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x10\n\x0cUNIT_L2_NORM\x10\x02\x32\x8d\x15\n\x13VectorSearchService\x12\xc0\x01\n\x0fListCollections\x12\x34.google.cloud.vectorsearch.v1.ListCollectionsRequest\x1a\x35.google.cloud.vectorsearch.v1.ListCollectionsResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=projects/*/locations/*}/collections\x12\xad\x01\n\rGetCollection\x12\x32.google.cloud.vectorsearch.v1.GetCollectionRequest\x1a(.google.cloud.vectorsearch.v1.Collection\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=projects/*/locations/*/collections/*}\x12\xf2\x01\n\x10\x43reateCollection\x12\x35.google.cloud.vectorsearch.v1.CreateCollectionRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1f\n\nCollection\x12\x11OperationMetadata\xda\x41\x1fparent,collection,collection_id\x82\xd3\xe4\x93\x02=\"//v1/{parent=projects/*/locations/*}/collections:\ncollection\x12\xf4\x01\n\x10UpdateCollection\x12\x35.google.cloud.vectorsearch.v1.UpdateCollectionRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1f\n\nCollection\x12\x11OperationMetadata\xda\x41\x16\x63ollection,update_mask\x82\xd3\xe4\x93\x02H2:/v1/{collection.name=projects/*/locations/*/collections/*}:\ncollection\x12\xd5\x01\n\x10\x44\x65leteCollection\x12\x35.google.cloud.vectorsearch.v1.DeleteCollectionRequest\x1a\x1d.google.longrunning.Operation\"k\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v1/{name=projects/*/locations/*/collections/*}\x12\xbe\x01\n\x0bListIndexes\x12\x30.google.cloud.vectorsearch.v1.ListIndexesRequest\x1a\x31.google.cloud.vectorsearch.v1.ListIndexesResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/collections/*}/indexes\x12\xa8\x01\n\x08GetIndex\x12-.google.cloud.vectorsearch.v1.GetIndexRequest\x1a#.google.cloud.vectorsearch.v1.Index\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xdd\x01\n\x0b\x43reateIndex\x12\x30.google.cloud.vectorsearch.v1.CreateIndexRequest\x1a\x1d.google.longrunning.Operation\"}\xca\x41\x1a\n\x05Index\x12\x11OperationMetadata\xda\x41\x15parent,index,index_id\x82\xd3\xe4\x93\x02\x42\"9/v1/{parent=projects/*/locations/*/collections/*}/indexes:\x05index\x12\xdf\x01\n\x0bUpdateIndex\x12\x30.google.cloud.vectorsearch.v1.UpdateIndexRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41\x1a\n\x05Index\x12\x11OperationMetadata\xda\x41\x11index,update_mask\x82\xd3\xe4\x93\x02H2?/v1/{index.name=projects/*/locations/*/collections/*/indexes/*}:\x05index\x12\xd5\x01\n\x0b\x44\x65leteIndex\x12\x30.google.cloud.vectorsearch.v1.DeleteIndexRequest\x1a\x1d.google.longrunning.Operation\"u\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02;*9/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xf2\x01\n\x11ImportDataObjects\x12\x36.google.cloud.vectorsearch.v1.ImportDataObjectsRequest\x1a\x1d.google.longrunning.Operation\"\x85\x01\xca\x41\x36\n\x19ImportDataObjectsResponse\x12\x19ImportDataObjectsMetadata\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/collections/*}:importDataObjects:\x01*\x12\xf2\x01\n\x11\x45xportDataObjects\x12\x36.google.cloud.vectorsearch.v1.ExportDataObjectsRequest\x1a\x1d.google.longrunning.Operation\"\x85\x01\xca\x41\x36\n\x19\x45xportDataObjectsResponse\x12\x19\x45xportDataObjectsMetadata\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/collections/*}:exportDataObjects:\x01*\x1aO\xca\x41\x1bvectorsearch.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe4\x01\n com.google.cloud.vectorsearch.v1B\x18VectorSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
|
|
23
|
+
descriptor_data = "\n7google/cloud/vectorsearch/v1/vectorsearch_service.proto\x12\x1cgoogle.cloud.vectorsearch.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/vectorsearch/v1/common.proto\x1a\x33google/cloud/vectorsearch/v1/embedding_config.proto\x1a\x32google/cloud/vectorsearch/v1/encryption_spec.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\x85\x06\n\nCollection\x12\x12\n\x04name\x18\x01 \x01(\tB\x04\xe2\x41\x01\x08\x12\x1a\n\x0c\x64isplay_name\x18\x08 \x01(\tB\x04\xe2\x41\x01\x01\x12\x19\n\x0b\x64\x65scription\x18\t \x01(\tB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12J\n\x06labels\x18\x04 \x03(\x0b\x32\x34.google.cloud.vectorsearch.v1.Collection.LabelsEntryB\x04\xe2\x41\x01\x01\x12W\n\rvector_schema\x18\x07 \x03(\x0b\x32:.google.cloud.vectorsearch.v1.Collection.VectorSchemaEntryB\x04\xe2\x41\x01\x01\x12\x32\n\x0b\x64\x61ta_schema\x18\n \x01(\x0b\x32\x17.google.protobuf.StructB\x04\xe2\x41\x01\x01\x12L\n\x0f\x65ncryption_spec\x18\x0b \x01(\x0b\x32,.google.cloud.vectorsearch.v1.EncryptionSpecB\x05\xe2\x41\x02\x05\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a^\n\x11VectorSchemaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.vectorsearch.v1.VectorField:\x02\x38\x01:\x87\x01\xea\x41\x83\x01\n&vectorsearch.googleapis.com/Collection\x12@projects/{project}/locations/{location}/collections/{collection}*\x0b\x63ollections2\ncollection\"\xb5\x01\n\x0bVectorField\x12\x46\n\x0c\x64\x65nse_vector\x18\x03 \x01(\x0b\x32..google.cloud.vectorsearch.v1.DenseVectorFieldH\x00\x12H\n\rsparse_vector\x18\x04 \x01(\x0b\x32/.google.cloud.vectorsearch.v1.SparseVectorFieldH\x00\x42\x14\n\x12vector_type_config\"\x82\x01\n\x10\x44\x65nseVectorField\x12\x12\n\ndimensions\x18\x01 \x01(\x05\x12Z\n\x17vertex_embedding_config\x18\x03 \x01(\x0b\x32\x33.google.cloud.vectorsearch.v1.VertexEmbeddingConfigB\x04\xe2\x41\x01\x01\"\x13\n\x11SparseVectorField\"\xba\x01\n\x16ListCollectionsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\x12&vectorsearch.googleapis.com/Collection\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12\x16\n\x08order_by\x18\x05 \x01(\tB\x04\xe2\x41\x01\x01\"\x8c\x01\n\x17ListCollectionsResponse\x12=\n\x0b\x63ollections\x18\x01 \x03(\x0b\x32(.google.cloud.vectorsearch.v1.Collection\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x19\n\x0bunreachable\x18\x03 \x03(\tB\x04\xe2\x41\x01\x06\"U\n\x14GetCollectionRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\"\xdd\x01\n\x17\x43reateCollectionRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\x12&vectorsearch.googleapis.com/Collection\x12\x1b\n\rcollection_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x42\n\ncollection\x18\x03 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.CollectionB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x04 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xb6\x01\n\x17UpdateCollectionRequest\x12\x35\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x04\xe2\x41\x01\x01\x12\x42\n\ncollection\x18\x02 \x01(\x0b\x32(.google.cloud.vectorsearch.v1.CollectionB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x03 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\x8f\x01\n\x17\x44\x65leteCollectionRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x13\n\x05\x66orce\x18\x03 \x01(\x08\x42\x04\xe2\x41\x01\x01\"\xac\x06\n\x05Index\x12_\n\x18\x64\x65\x64icated_infrastructure\x18\x0b \x01(\x0b\x32\x35.google.cloud.vectorsearch.v1.DedicatedInfrastructureB\x04\xe2\x41\x01\x01H\x00\x12J\n\x0b\x64\x65nse_scann\x18\x0c \x01(\x0b\x32-.google.cloud.vectorsearch.v1.DenseScannIndexB\x04\xe2\x41\x01\x01H\x01\x12\x12\n\x04name\x18\x01 \x01(\tB\x04\xe2\x41\x01\x08\x12\x1a\n\x0c\x64isplay_name\x18\x08 \x01(\tB\x04\xe2\x41\x01\x01\x12\x19\n\x0b\x64\x65scription\x18\t \x01(\tB\x04\xe2\x41\x01\x01\x12\x45\n\x06labels\x18\n \x03(\x0b\x32/.google.cloud.vectorsearch.v1.Index.LabelsEntryB\x04\xe2\x41\x01\x01\x12\x35\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12K\n\x0f\x64istance_metric\x18\x04 \x01(\x0e\x32,.google.cloud.vectorsearch.v1.DistanceMetricB\x04\xe2\x41\x01\x01\x12\x19\n\x0bindex_field\x18\x05 \x01(\tB\x04\xe2\x41\x01\x02\x12\x1b\n\rfilter_fields\x18\x06 \x03(\tB\x04\xe2\x41\x01\x01\x12\x1a\n\x0cstore_fields\x18\x07 \x03(\tB\x04\xe2\x41\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x89\x01\xea\x41\x85\x01\n!vectorsearch.googleapis.com/Index\x12Pprojects/{project}/locations/{location}/collections/{collection}/indexes/{index}*\x07indexes2\x05indexB\x0c\n\ninfra_typeB\x0c\n\nindex_type\"\xc9\x01\n\x12\x43reateIndexRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12\x16\n\x08index_id\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x38\n\x05index\x18\x03 \x01(\x0b\x32#.google.cloud.vectorsearch.v1.IndexB\x04\xe2\x41\x01\x02\x12 \n\nrequest_id\x18\x04 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xa7\x01\n\x12UpdateIndexRequest\x12\x38\n\x05index\x18\x01 \x01(\x0b\x32#.google.cloud.vectorsearch.v1.IndexB\x04\xe2\x41\x01\x02\x12\x35\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x04\xe2\x41\x01\x01\x12 \n\nrequest_id\x18\x03 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"p\n\x12\x44\x65leteIndexRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xe2\x41\x01\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"\xb1\x01\n\x12ListIndexesRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\x12!vectorsearch.googleapis.com/Index\x12\x17\n\tpage_size\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x18\n\npage_token\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x12\x14\n\x06\x66ilter\x18\x04 \x01(\tB\x04\xe2\x41\x01\x01\x12\x16\n\x08order_by\x18\x05 \x01(\tB\x04\xe2\x41\x01\x01\"d\n\x13ListIndexesResponse\x12\x34\n\x07indexes\x18\x01 \x03(\x0b\x32#.google.cloud.vectorsearch.v1.Index\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"K\n\x0fGetIndexRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe2\x41\x01\x02\xfa\x41#\n!vectorsearch.googleapis.com/Index\"\x87\x02\n\x11OperationMetadata\x12\x35\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x32\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x14\n\x06target\x18\x03 \x01(\tB\x04\xe2\x41\x01\x03\x12\x12\n\x04verb\x18\x04 \x01(\tB\x04\xe2\x41\x01\x03\x12\x1c\n\x0estatus_message\x18\x05 \x01(\tB\x04\xe2\x41\x01\x03\x12$\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x04\xe2\x41\x01\x03\x12\x19\n\x0b\x61pi_version\x18\x07 \x01(\tB\x04\xe2\x41\x01\x03\"\xa3\x02\n\x18ImportDataObjectsRequest\x12\\\n\ngcs_import\x18\x02 \x01(\x0b\x32\x46.google.cloud.vectorsearch.v1.ImportDataObjectsRequest.GcsImportConfigH\x00\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x1a`\n\x0fGcsImportConfig\x12\x1a\n\x0c\x63ontents_uri\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12\x17\n\terror_uri\x18\x02 \x01(\tB\x04\xe2\x41\x01\x02\x12\x18\n\noutput_uri\x18\x03 \x01(\tB\x04\xe2\x41\x01\x01\x42\x08\n\x06\x63onfig\"\xc3\x01\n\x19ImportDataObjectsMetadata\x12\x35\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x1b\n\rsuccess_count\x18\x03 \x01(\x03\x42\x04\xe2\x41\x01\x03\x12\x1b\n\rfailure_count\x18\x04 \x01(\x03\x42\x04\xe2\x41\x01\x03\"?\n\x19ImportDataObjectsResponse\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\"\x97\x06\n\x18\x45xportDataObjectsRequest\x12\x66\n\x0fgcs_destination\x18\x02 \x01(\x0b\x32K.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestinationH\x00\x12=\n\x04name\x18\x01 \x01(\tB/\xe2\x41\x01\x02\xfa\x41(\n&vectorsearch.googleapis.com/Collection\x12^\n\x0c\x66ield_filter\x18\x03 \x01(\x0b\x32\x42.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilterB\x04\xe2\x41\x01\x01\x1a\xc7\x01\n\x14GcsExportDestination\x12\x18\n\nexport_uri\x18\x01 \x01(\tB\x04\xe2\x41\x01\x02\x12h\n\x06\x66ormat\x18\x02 \x01(\x0e\x32R.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.GcsExportDestination.FormatB\x04\xe2\x41\x01\x02\"+\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\t\n\x05JSONL\x10\x02\x1a\x9a\x02\n\x0b\x46ieldFilter\x12m\n\x0fincluded_fields\x18\x01 \x01(\x0b\x32L.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldListB\x04\xe2\x41\x01\x01H\x00\x12m\n\x0f\x65xcluded_fields\x18\x02 \x01(\x0b\x32L.google.cloud.vectorsearch.v1.ExportDataObjectsRequest.FieldFilter.FieldListB\x04\xe2\x41\x01\x01H\x00\x1a!\n\tFieldList\x12\x14\n\x06\x66ields\x18\x01 \x03(\tB\x04\xe2\x41\x01\x02\x42\n\n\x08selectorB\r\n\x0b\x64\x65stination\"\x89\x01\n\x19\x45xportDataObjectsMetadata\x12\x35\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\x12\x35\n\x0b\x66inish_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x04\xe2\x41\x01\x03\"\x1b\n\x19\x45xportDataObjectsResponse\"\x83\x03\n\x17\x44\x65\x64icatedInfrastructure\x12S\n\x04mode\x18\x01 \x01(\x0e\x32:.google.cloud.vectorsearch.v1.DedicatedInfrastructure.ModeB\x04\xe2\x41\x01\x01H\x00\x88\x01\x01\x12\x65\n\x10\x61utoscaling_spec\x18\x02 \x01(\x0b\x32\x45.google.cloud.vectorsearch.v1.DedicatedInfrastructure.AutoscalingSpecB\x04\xe2\x41\x01\x01\x1aS\n\x0f\x41utoscalingSpec\x12\x1f\n\x11min_replica_count\x18\x01 \x01(\x05\x42\x04\xe2\x41\x01\x01\x12\x1f\n\x11max_replica_count\x18\x02 \x01(\x05\x42\x04\xe2\x41\x01\x01\"N\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11STORAGE_OPTIMIZED\x10\x01\x12\x19\n\x15PERFORMANCE_OPTIMIZED\x10\x02\x42\x07\n\x05_mode\"\xc3\x01\n\x0f\x44\x65nseScannIndex\x12^\n\x11\x66\x65\x61ture_norm_type\x18\x02 \x01(\x0e\x32=.google.cloud.vectorsearch.v1.DenseScannIndex.FeatureNormTypeB\x04\xe2\x41\x01\x01\"P\n\x0f\x46\x65\x61tureNormType\x12!\n\x1d\x46\x45\x41TURE_NORM_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x10\n\x0cUNIT_L2_NORM\x10\x02\x32\xf2\x15\n\x13VectorSearchService\x12\xc0\x01\n\x0fListCollections\x12\x34.google.cloud.vectorsearch.v1.ListCollectionsRequest\x1a\x35.google.cloud.vectorsearch.v1.ListCollectionsResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=projects/*/locations/*}/collections\x12\xad\x01\n\rGetCollection\x12\x32.google.cloud.vectorsearch.v1.GetCollectionRequest\x1a(.google.cloud.vectorsearch.v1.Collection\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=projects/*/locations/*/collections/*}\x12\xf2\x01\n\x10\x43reateCollection\x12\x35.google.cloud.vectorsearch.v1.CreateCollectionRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1f\n\nCollection\x12\x11OperationMetadata\xda\x41\x1fparent,collection,collection_id\x82\xd3\xe4\x93\x02=\"//v1/{parent=projects/*/locations/*}/collections:\ncollection\x12\xf4\x01\n\x10UpdateCollection\x12\x35.google.cloud.vectorsearch.v1.UpdateCollectionRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1f\n\nCollection\x12\x11OperationMetadata\xda\x41\x16\x63ollection,update_mask\x82\xd3\xe4\x93\x02H2:/v1/{collection.name=projects/*/locations/*/collections/*}:\ncollection\x12\xd5\x01\n\x10\x44\x65leteCollection\x12\x35.google.cloud.vectorsearch.v1.DeleteCollectionRequest\x1a\x1d.google.longrunning.Operation\"k\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v1/{name=projects/*/locations/*/collections/*}\x12\xbe\x01\n\x0bListIndexes\x12\x30.google.cloud.vectorsearch.v1.ListIndexesRequest\x1a\x31.google.cloud.vectorsearch.v1.ListIndexesResponse\"J\xda\x41\x06parent\x82\xd3\xe4\x93\x02;\x12\x39/v1/{parent=projects/*/locations/*/collections/*}/indexes\x12\xa8\x01\n\x08GetIndex\x12-.google.cloud.vectorsearch.v1.GetIndexRequest\x1a#.google.cloud.vectorsearch.v1.Index\"H\xda\x41\x04name\x82\xd3\xe4\x93\x02;\x12\x39/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xdd\x01\n\x0b\x43reateIndex\x12\x30.google.cloud.vectorsearch.v1.CreateIndexRequest\x1a\x1d.google.longrunning.Operation\"}\xca\x41\x1a\n\x05Index\x12\x11OperationMetadata\xda\x41\x15parent,index,index_id\x82\xd3\xe4\x93\x02\x42\"9/v1/{parent=projects/*/locations/*/collections/*}/indexes:\x05index\x12\xdf\x01\n\x0bUpdateIndex\x12\x30.google.cloud.vectorsearch.v1.UpdateIndexRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41\x1a\n\x05Index\x12\x11OperationMetadata\xda\x41\x11index,update_mask\x82\xd3\xe4\x93\x02H2?/v1/{index.name=projects/*/locations/*/collections/*/indexes/*}:\x05index\x12\xd5\x01\n\x0b\x44\x65leteIndex\x12\x30.google.cloud.vectorsearch.v1.DeleteIndexRequest\x1a\x1d.google.longrunning.Operation\"u\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02;*9/v1/{name=projects/*/locations/*/collections/*/indexes/*}\x12\xf2\x01\n\x11ImportDataObjects\x12\x36.google.cloud.vectorsearch.v1.ImportDataObjectsRequest\x1a\x1d.google.longrunning.Operation\"\x85\x01\xca\x41\x36\n\x19ImportDataObjectsResponse\x12\x19ImportDataObjectsMetadata\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/collections/*}:importDataObjects:\x01*\x12\xf2\x01\n\x11\x45xportDataObjects\x12\x36.google.cloud.vectorsearch.v1.ExportDataObjectsRequest\x1a\x1d.google.longrunning.Operation\"\x85\x01\xca\x41\x36\n\x19\x45xportDataObjectsResponse\x12\x19\x45xportDataObjectsMetadata\x82\xd3\xe4\x93\x02\x46\"A/v1/{name=projects/*/locations/*/collections/*}:exportDataObjects:\x01*\x1a\xb3\x01\xca\x41\x1bvectorsearch.googleapis.com\xd2\x41\x91\x01https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/vectorsearch,https://www.googleapis.com/auth/vectorsearch.readonlyB\xe4\x01\n com.google.cloud.vectorsearch.v1B\x18VectorSearchServiceProtoP\x01ZDcloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb\xaa\x02\x1cGoogle.Cloud.VectorSearch.V1\xca\x02\x1cGoogle\\Cloud\\VectorSearch\\V1\xea\x02\x1fGoogle::Cloud::VectorSearch::V1b\x06proto3"
|
|
24
24
|
|
|
25
25
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
26
26
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -21,16 +21,28 @@ module Google
|
|
|
21
21
|
module Cloud
|
|
22
22
|
module VectorSearch
|
|
23
23
|
module V1
|
|
24
|
-
# Defines
|
|
24
|
+
# Defines an output fields struct for data in DataObject.
|
|
25
|
+
#
|
|
26
|
+
# Output fields are opt-in. A search or query result contains only the data
|
|
27
|
+
# object name and ID, plus the fields listed here. If this message is unset or
|
|
28
|
+
# a list is empty, the corresponding part of the data object (`data`,
|
|
29
|
+
# `vectors` or metadata) is omitted from the result; it is not an indication
|
|
30
|
+
# that the stored data object is empty. Use `"*"` in a list to return all
|
|
31
|
+
# fields of that kind.
|
|
25
32
|
# @!attribute [rw] data_fields
|
|
26
33
|
# @return [::Array<::String>]
|
|
27
|
-
# Optional. The fields from the data fields to include in the output.
|
|
34
|
+
# Optional. The fields from the data fields to include in the output. Use
|
|
35
|
+
# `"*"` to include all data fields. If empty, `data` is omitted from results.
|
|
28
36
|
# @!attribute [rw] vector_fields
|
|
29
37
|
# @return [::Array<::String>]
|
|
30
|
-
# Optional. The fields from the vector fields to include in the output.
|
|
38
|
+
# Optional. The fields from the vector fields to include in the output. Use
|
|
39
|
+
# `"*"` to include all vector fields. If empty, `vectors` is omitted from
|
|
40
|
+
# results.
|
|
31
41
|
# @!attribute [rw] metadata_fields
|
|
32
42
|
# @return [::Array<::String>]
|
|
33
|
-
# Optional. The
|
|
43
|
+
# Optional. The DataObject metadata fields to include in the output:
|
|
44
|
+
# `create_time`, `update_time` and `etag`. Use `"*"` to include all metadata
|
|
45
|
+
# fields. If empty, these fields are omitted from results.
|
|
34
46
|
class OutputFields
|
|
35
47
|
include ::Google::Protobuf::MessageExts
|
|
36
48
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -123,8 +135,34 @@ module Google
|
|
|
123
135
|
# Required. The vector field to search.
|
|
124
136
|
# @!attribute [rw] filter
|
|
125
137
|
# @return [::Google::Protobuf::Struct]
|
|
126
|
-
# Optional. A JSON filter expression, e.g.
|
|
127
|
-
# represented as a google.protobuf.Struct
|
|
138
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
139
|
+
# represented as a `google.protobuf.Struct`.
|
|
140
|
+
#
|
|
141
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
142
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
143
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
144
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
145
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
146
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
147
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
148
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
149
|
+
# use `$and` and `$eq` instead.
|
|
150
|
+
#
|
|
151
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
152
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
153
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
154
|
+
#
|
|
155
|
+
# Which filters are accepted depends on how the search is served. If it is
|
|
156
|
+
# served by an approximate nearest neighbor (ANN) index (by default when a
|
|
157
|
+
# ready index exists on `search_field`, or when one is selected via
|
|
158
|
+
# `search_hint.index_hint`), every filtered field must be listed in
|
|
159
|
+
# `Index.filter_fields` at index creation, `$or` and `$all` are accepted
|
|
160
|
+
# only at the top level of the filter, and `$not` and `$exists` are not
|
|
161
|
+
# supported. Not every unsupported filter is rejected: most produce
|
|
162
|
+
# `INVALID_ARGUMENT`, but some are silently ignored, so do not rely on the
|
|
163
|
+
# error. If no ready index exists on `search_field`, or if
|
|
164
|
+
# `search_hint.knn_hint` is set, the search is served by K-Nearest Neighbor
|
|
165
|
+
# (KNN) search, which has none of these filter restrictions.
|
|
128
166
|
# @!attribute [rw] top_k
|
|
129
167
|
# @return [::Integer]
|
|
130
168
|
# Optional. The number of nearest neighbors to return.
|
|
@@ -167,8 +205,34 @@ module Google
|
|
|
167
205
|
# Optional. The fields to return in the search results.
|
|
168
206
|
# @!attribute [rw] filter
|
|
169
207
|
# @return [::Google::Protobuf::Struct]
|
|
170
|
-
# Optional. A JSON filter expression, e.g.
|
|
171
|
-
# represented as a google.protobuf.Struct
|
|
208
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
209
|
+
# represented as a `google.protobuf.Struct`.
|
|
210
|
+
#
|
|
211
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
212
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
213
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
214
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
215
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
216
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
217
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
218
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
219
|
+
# use `$and` and `$eq` instead.
|
|
220
|
+
#
|
|
221
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
222
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
223
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
224
|
+
#
|
|
225
|
+
# Which filters are accepted depends on how the search is served. If it is
|
|
226
|
+
# served by an approximate nearest neighbor (ANN) index (by default when a
|
|
227
|
+
# ready index exists on `search_field`, or when one is selected via
|
|
228
|
+
# `search_hint.index_hint`), every filtered field must be listed in
|
|
229
|
+
# `Index.filter_fields` at index creation, `$or` and `$all` are accepted
|
|
230
|
+
# only at the top level of the filter, and `$not` and `$exists` are not
|
|
231
|
+
# supported. Not every unsupported filter is rejected: most produce
|
|
232
|
+
# `INVALID_ARGUMENT`, but some are silently ignored, so do not rely on the
|
|
233
|
+
# error. If no ready index exists on `search_field`, or if
|
|
234
|
+
# `search_hint.knn_hint` is set, the search is served by K-Nearest Neighbor
|
|
235
|
+
# (KNN) search, which has none of these filter restrictions.
|
|
172
236
|
# @!attribute [rw] top_k
|
|
173
237
|
# @return [::Integer]
|
|
174
238
|
# Optional. The number of data objects to return.
|
|
@@ -200,11 +264,158 @@ module Google
|
|
|
200
264
|
# @return [::Google::Protobuf::Struct]
|
|
201
265
|
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
202
266
|
# represented as a `google.protobuf.Struct`.
|
|
267
|
+
#
|
|
268
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
269
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
270
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
271
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
272
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
273
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
274
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
275
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
276
|
+
# use `$and` and `$eq` instead.
|
|
277
|
+
#
|
|
278
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
279
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
280
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
281
|
+
# @!attribute [rw] structured_query
|
|
282
|
+
# @return [::Google::Cloud::VectorSearch::V1::StructuredQuery]
|
|
283
|
+
# Optional. Structured query definition. When set, `search_text` and
|
|
284
|
+
# `data_field_names` must be left empty; otherwise the request will be
|
|
285
|
+
# rejected with an `INVALID_ARGUMENT` error. Conversely, when
|
|
286
|
+
# `structured_query` is unset, both `search_text` and `data_field_names`
|
|
287
|
+
# are required.
|
|
203
288
|
class TextSearch
|
|
204
289
|
include ::Google::Protobuf::MessageExts
|
|
205
290
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
206
291
|
end
|
|
207
292
|
|
|
293
|
+
# A structured query for text search. Allows expressing field-targeted text
|
|
294
|
+
# queries combined via boolean operators, with optional per-node boosting.
|
|
295
|
+
# @!attribute [rw] text
|
|
296
|
+
# @return [::Google::Cloud::VectorSearch::V1::TextQuery]
|
|
297
|
+
# Optional. A leaf-level text query.
|
|
298
|
+
#
|
|
299
|
+
# Note: The following fields are mutually exclusive: `text`, `unary`, `combine`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
300
|
+
# @!attribute [rw] unary
|
|
301
|
+
# @return [::Google::Cloud::VectorSearch::V1::UnaryQuery]
|
|
302
|
+
# Optional. A query that applies a unary operator to a sub-query.
|
|
303
|
+
#
|
|
304
|
+
# Note: The following fields are mutually exclusive: `unary`, `text`, `combine`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
305
|
+
# @!attribute [rw] combine
|
|
306
|
+
# @return [::Google::Cloud::VectorSearch::V1::CombinedQuery]
|
|
307
|
+
# Optional. A query that combines multiple sub-queries with a boolean
|
|
308
|
+
# operator.
|
|
309
|
+
#
|
|
310
|
+
# Note: The following fields are mutually exclusive: `combine`, `text`, `unary`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
|
311
|
+
# @!attribute [rw] boost
|
|
312
|
+
# @return [::Float]
|
|
313
|
+
# Optional. Optional multiplier applied to this query node's contribution to
|
|
314
|
+
# the final relevance score. Must be non-negative; if unset or 0, defaults
|
|
315
|
+
# to 1.0. Values greater than 1.0 increase its influence on ranking, values
|
|
316
|
+
# between 0.0 and 1.0 decrease it.
|
|
317
|
+
class StructuredQuery
|
|
318
|
+
include ::Google::Protobuf::MessageExts
|
|
319
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
320
|
+
end
|
|
321
|
+
|
|
322
|
+
# A leaf-level text query targeting one or more data fields. When multiple
|
|
323
|
+
# fields are specified, this is equivalent to combining per-field matches with
|
|
324
|
+
# an OR operator (i.e. the query matches if the text is found in any of the
|
|
325
|
+
# listed fields).
|
|
326
|
+
# @!attribute [rw] text
|
|
327
|
+
# @return [::String]
|
|
328
|
+
# Required. The text to search for.
|
|
329
|
+
# @!attribute [rw] fields
|
|
330
|
+
# @return [::Array<::String>]
|
|
331
|
+
# Required. The data fields to search against.
|
|
332
|
+
# @!attribute [rw] match_type
|
|
333
|
+
# @return [::Google::Cloud::VectorSearch::V1::TextQuery::MatchType]
|
|
334
|
+
# Optional. The matching strategy to apply for this query. If unset, defaults
|
|
335
|
+
# to `TEXT`.
|
|
336
|
+
# @!attribute [rw] query_enhancement
|
|
337
|
+
# @return [::Google::Cloud::VectorSearch::V1::QueryEnhancement]
|
|
338
|
+
# Optional. The query enhancement settings to apply for this query.
|
|
339
|
+
class TextQuery
|
|
340
|
+
include ::Google::Protobuf::MessageExts
|
|
341
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
342
|
+
|
|
343
|
+
# The matching strategy to apply when comparing `text` against the content
|
|
344
|
+
# of `fields`.
|
|
345
|
+
module MatchType
|
|
346
|
+
# Defaults to `TEXT`.
|
|
347
|
+
MATCH_TYPE_UNSPECIFIED = 0
|
|
348
|
+
|
|
349
|
+
# Treats `text` as individual search terms combined with an implicit
|
|
350
|
+
# AND: every term must appear in the field, in any order and any
|
|
351
|
+
# position. Case-insensitive.
|
|
352
|
+
TEXT = 1
|
|
353
|
+
|
|
354
|
+
# Matches only when the entire field value is exactly equal to `text`.
|
|
355
|
+
EXACT = 2
|
|
356
|
+
end
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
# Query enhancement settings. When enabled, expands the search terms with
|
|
360
|
+
# stemming, synonyms, and spelling corrections, and removes stop words.
|
|
361
|
+
# @!attribute [rw] enabled
|
|
362
|
+
# @return [::Boolean]
|
|
363
|
+
# Optional. Whether query enhancement is enabled.
|
|
364
|
+
# @!attribute [rw] language_code
|
|
365
|
+
# @return [::String]
|
|
366
|
+
# Optional. The IETF BCP 47 language tag, such as "en-US", for query
|
|
367
|
+
# enhancement. If unset, the language is detected automatically. See
|
|
368
|
+
# <https://en.wikipedia.org/wiki/IETF_language_tag>.
|
|
369
|
+
class QueryEnhancement
|
|
370
|
+
include ::Google::Protobuf::MessageExts
|
|
371
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
# A query that applies a unary operator to a sub-query.
|
|
375
|
+
# @!attribute [rw] op
|
|
376
|
+
# @return [::Google::Cloud::VectorSearch::V1::UnaryQuery::Operator]
|
|
377
|
+
# Required. The unary operator to apply.
|
|
378
|
+
# @!attribute [rw] sub_query
|
|
379
|
+
# @return [::Google::Cloud::VectorSearch::V1::StructuredQuery]
|
|
380
|
+
# Required. The sub-query the operator is applied to.
|
|
381
|
+
class UnaryQuery
|
|
382
|
+
include ::Google::Protobuf::MessageExts
|
|
383
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
384
|
+
|
|
385
|
+
# Unary operators applicable to a sub-query.
|
|
386
|
+
module Operator
|
|
387
|
+
# Default value. This value is unused.
|
|
388
|
+
OPERATOR_UNSPECIFIED = 0
|
|
389
|
+
|
|
390
|
+
# Negates the sub-query.
|
|
391
|
+
NOT = 1
|
|
392
|
+
end
|
|
393
|
+
end
|
|
394
|
+
|
|
395
|
+
# A query that combines multiple sub-queries with a boolean operator.
|
|
396
|
+
# @!attribute [rw] op
|
|
397
|
+
# @return [::Google::Cloud::VectorSearch::V1::CombinedQuery::Operator]
|
|
398
|
+
# Required. The boolean operator used to combine the sub-queries.
|
|
399
|
+
# @!attribute [rw] sub_queries
|
|
400
|
+
# @return [::Array<::Google::Cloud::VectorSearch::V1::StructuredQuery>]
|
|
401
|
+
# Required. The sub-queries to be combined.
|
|
402
|
+
class CombinedQuery
|
|
403
|
+
include ::Google::Protobuf::MessageExts
|
|
404
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
405
|
+
|
|
406
|
+
# Boolean operators used to combine sub-queries.
|
|
407
|
+
module Operator
|
|
408
|
+
# Default value. This value is unused.
|
|
409
|
+
OPERATOR_UNSPECIFIED = 0
|
|
410
|
+
|
|
411
|
+
# All sub-queries must match.
|
|
412
|
+
AND = 1
|
|
413
|
+
|
|
414
|
+
# At least one sub-query must match.
|
|
415
|
+
OR = 2
|
|
416
|
+
end
|
|
417
|
+
end
|
|
418
|
+
|
|
208
419
|
# Request for performing a single search.
|
|
209
420
|
# @!attribute [rw] vector_search
|
|
210
421
|
# @return [::Google::Cloud::VectorSearch::V1::VectorSearch]
|
|
@@ -278,8 +489,22 @@ module Google
|
|
|
278
489
|
# Format: `projects/{project}/locations/{location}/collections/{collection}`
|
|
279
490
|
# @!attribute [rw] filter
|
|
280
491
|
# @return [::Google::Protobuf::Struct]
|
|
281
|
-
# Optional. A JSON filter expression, e.g.
|
|
282
|
-
# represented as a google.protobuf.Struct
|
|
492
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
493
|
+
# represented as a `google.protobuf.Struct`.
|
|
494
|
+
#
|
|
495
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
496
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
497
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
498
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
499
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
500
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
501
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
502
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
503
|
+
# use `$and` and `$eq` instead.
|
|
504
|
+
#
|
|
505
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
506
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
507
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
283
508
|
# @!attribute [rw] aggregate
|
|
284
509
|
# @return [::Google::Cloud::VectorSearch::V1::AggregationMethod]
|
|
285
510
|
# Required. The aggregation method to apply to the query.
|
|
@@ -306,8 +531,22 @@ module Google
|
|
|
306
531
|
# Format: `projects/{project}/locations/{location}/collections/{collection}`
|
|
307
532
|
# @!attribute [rw] filter
|
|
308
533
|
# @return [::Google::Protobuf::Struct]
|
|
309
|
-
# Optional. A JSON filter expression, e.g.
|
|
310
|
-
# represented as a google.protobuf.Struct
|
|
534
|
+
# Optional. A JSON filter expression, e.g. `{"genre": {"$eq": "sci-fi"}}`,
|
|
535
|
+
# represented as a `google.protobuf.Struct`.
|
|
536
|
+
#
|
|
537
|
+
# An empty filter (`{}`) matches all data objects. Otherwise, each JSON
|
|
538
|
+
# object in the filter must have exactly one key: either a field name mapped
|
|
539
|
+
# to one operator (`{"price": {"$lt": 100}}`), or a logical operator: `$and`
|
|
540
|
+
# or `$or` with a list of filters, or `$not` with one filter. Field
|
|
541
|
+
# operators and their values: `$eq` and `$ne` take a string, number or bool;
|
|
542
|
+
# `$lt`, `$lte`, `$gt` and `$gte` take a number; `$in`, `$nin` and `$all`
|
|
543
|
+
# take a list of strings; `$exists` takes a bool. Several keys in one object
|
|
544
|
+
# (implicit AND) and implicit equality (`{"genre": "sci-fi"}`) are rejected;
|
|
545
|
+
# use `$and` and `$eq` instead.
|
|
546
|
+
#
|
|
547
|
+
# Logical operators can be nested at most 2 levels deep, e.g.
|
|
548
|
+
# `{"$and": [{"$or": [{"a": {"$eq": 1}}, {"b": {"$eq": 2}}]}]}`. Deeper
|
|
549
|
+
# filters are rejected with `INVALID_ARGUMENT`.
|
|
311
550
|
# @!attribute [rw] output_fields
|
|
312
551
|
# @return [::Google::Cloud::VectorSearch::V1::OutputFields]
|
|
313
552
|
# Optional. Mask specifying which fields to return.
|