1// Copyright 2019 Google LLC. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15 16// Code generated by protoc-gen-go. DO NOT EDIT. 17// versions: 18// protoc-gen-go v1.26.0 19// protoc v3.12.2 20// source: google/cloud/vision/v1p4beta1/product_search.proto 21 22package vision 23 24import ( 25 reflect "reflect" 26 sync "sync" 27 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 30 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 31 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 32) 33 34const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39) 40 41// Parameters for a product search request. 42type ProductSearchParams struct { 43 state protoimpl.MessageState 44 sizeCache protoimpl.SizeCache 45 unknownFields protoimpl.UnknownFields 46 47 // The bounding polygon around the area of interest in the image. 48 // If it is not specified, system discretion will be applied. 49 BoundingPoly *BoundingPoly `protobuf:"bytes,9,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"` 50 // The resource name of a 51 // [ProductSet][google.cloud.vision.v1p4beta1.ProductSet] to be searched for 52 // similar images. 53 // 54 // Format is: 55 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 56 ProductSet string `protobuf:"bytes,6,opt,name=product_set,json=productSet,proto3" json:"product_set,omitempty"` 57 // The list of product categories to search in. Currently, we only consider 58 // the first category, and either "homegoods-v2", "apparel-v2", "toys-v2", 59 // "packagedgoods-v1", or "general-v1" should be specified. The legacy 60 // categories "homegoods", "apparel", and "toys" are still supported but will 61 // be deprecated. For new products, please use "homegoods-v2", "apparel-v2", 62 // or "toys-v2" for better product search accuracy. It is recommended to 63 // migrate existing products to these categories as well. 64 ProductCategories []string `protobuf:"bytes,7,rep,name=product_categories,json=productCategories,proto3" json:"product_categories,omitempty"` 65 // The filtering expression. This can be used to restrict search results based 66 // on Product labels. We currently support an AND of OR of key-value 67 // expressions, where each expression within an OR must have the same key. An 68 // '=' should be used to connect the key and value. 69 // 70 // For example, "(color = red OR color = blue) AND brand = Google" is 71 // acceptable, but "(color = red OR brand = Google)" is not acceptable. 72 // "color: red" is not acceptable because it uses a ':' instead of an '='. 73 Filter string `protobuf:"bytes,8,opt,name=filter,proto3" json:"filter,omitempty"` 74} 75 76func (x *ProductSearchParams) Reset() { 77 *x = ProductSearchParams{} 78 if protoimpl.UnsafeEnabled { 79 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[0] 80 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 81 ms.StoreMessageInfo(mi) 82 } 83} 84 85func (x *ProductSearchParams) String() string { 86 return protoimpl.X.MessageStringOf(x) 87} 88 89func (*ProductSearchParams) ProtoMessage() {} 90 91func (x *ProductSearchParams) ProtoReflect() protoreflect.Message { 92 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[0] 93 if protoimpl.UnsafeEnabled && x != nil { 94 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 95 if ms.LoadMessageInfo() == nil { 96 ms.StoreMessageInfo(mi) 97 } 98 return ms 99 } 100 return mi.MessageOf(x) 101} 102 103// Deprecated: Use ProductSearchParams.ProtoReflect.Descriptor instead. 104func (*ProductSearchParams) Descriptor() ([]byte, []int) { 105 return file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescGZIP(), []int{0} 106} 107 108func (x *ProductSearchParams) GetBoundingPoly() *BoundingPoly { 109 if x != nil { 110 return x.BoundingPoly 111 } 112 return nil 113} 114 115func (x *ProductSearchParams) GetProductSet() string { 116 if x != nil { 117 return x.ProductSet 118 } 119 return "" 120} 121 122func (x *ProductSearchParams) GetProductCategories() []string { 123 if x != nil { 124 return x.ProductCategories 125 } 126 return nil 127} 128 129func (x *ProductSearchParams) GetFilter() string { 130 if x != nil { 131 return x.Filter 132 } 133 return "" 134} 135 136// Results for a product search request. 137type ProductSearchResults struct { 138 state protoimpl.MessageState 139 sizeCache protoimpl.SizeCache 140 unknownFields protoimpl.UnknownFields 141 142 // Timestamp of the index which provided these results. Products added to the 143 // product set and products removed from the product set after this time are 144 // not reflected in the current results. 145 IndexTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"` 146 // List of results, one for each product match. 147 Results []*ProductSearchResults_Result `protobuf:"bytes,5,rep,name=results,proto3" json:"results,omitempty"` 148 // List of results grouped by products detected in the query image. Each entry 149 // corresponds to one bounding polygon in the query image, and contains the 150 // matching products specific to that region. There may be duplicate product 151 // matches in the union of all the per-product results. 152 ProductGroupedResults []*ProductSearchResults_GroupedResult `protobuf:"bytes,6,rep,name=product_grouped_results,json=productGroupedResults,proto3" json:"product_grouped_results,omitempty"` 153} 154 155func (x *ProductSearchResults) Reset() { 156 *x = ProductSearchResults{} 157 if protoimpl.UnsafeEnabled { 158 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[1] 159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 160 ms.StoreMessageInfo(mi) 161 } 162} 163 164func (x *ProductSearchResults) String() string { 165 return protoimpl.X.MessageStringOf(x) 166} 167 168func (*ProductSearchResults) ProtoMessage() {} 169 170func (x *ProductSearchResults) ProtoReflect() protoreflect.Message { 171 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[1] 172 if protoimpl.UnsafeEnabled && x != nil { 173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 174 if ms.LoadMessageInfo() == nil { 175 ms.StoreMessageInfo(mi) 176 } 177 return ms 178 } 179 return mi.MessageOf(x) 180} 181 182// Deprecated: Use ProductSearchResults.ProtoReflect.Descriptor instead. 183func (*ProductSearchResults) Descriptor() ([]byte, []int) { 184 return file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescGZIP(), []int{1} 185} 186 187func (x *ProductSearchResults) GetIndexTime() *timestamppb.Timestamp { 188 if x != nil { 189 return x.IndexTime 190 } 191 return nil 192} 193 194func (x *ProductSearchResults) GetResults() []*ProductSearchResults_Result { 195 if x != nil { 196 return x.Results 197 } 198 return nil 199} 200 201func (x *ProductSearchResults) GetProductGroupedResults() []*ProductSearchResults_GroupedResult { 202 if x != nil { 203 return x.ProductGroupedResults 204 } 205 return nil 206} 207 208// Information about a product. 209type ProductSearchResults_Result struct { 210 state protoimpl.MessageState 211 sizeCache protoimpl.SizeCache 212 unknownFields protoimpl.UnknownFields 213 214 // The Product. 215 Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` 216 // A confidence level on the match, ranging from 0 (no confidence) to 217 // 1 (full confidence). 218 Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"` 219 // The resource name of the image from the product that is the closest match 220 // to the query. 221 Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` 222} 223 224func (x *ProductSearchResults_Result) Reset() { 225 *x = ProductSearchResults_Result{} 226 if protoimpl.UnsafeEnabled { 227 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[2] 228 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 229 ms.StoreMessageInfo(mi) 230 } 231} 232 233func (x *ProductSearchResults_Result) String() string { 234 return protoimpl.X.MessageStringOf(x) 235} 236 237func (*ProductSearchResults_Result) ProtoMessage() {} 238 239func (x *ProductSearchResults_Result) ProtoReflect() protoreflect.Message { 240 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[2] 241 if protoimpl.UnsafeEnabled && x != nil { 242 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 243 if ms.LoadMessageInfo() == nil { 244 ms.StoreMessageInfo(mi) 245 } 246 return ms 247 } 248 return mi.MessageOf(x) 249} 250 251// Deprecated: Use ProductSearchResults_Result.ProtoReflect.Descriptor instead. 252func (*ProductSearchResults_Result) Descriptor() ([]byte, []int) { 253 return file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescGZIP(), []int{1, 0} 254} 255 256func (x *ProductSearchResults_Result) GetProduct() *Product { 257 if x != nil { 258 return x.Product 259 } 260 return nil 261} 262 263func (x *ProductSearchResults_Result) GetScore() float32 { 264 if x != nil { 265 return x.Score 266 } 267 return 0 268} 269 270func (x *ProductSearchResults_Result) GetImage() string { 271 if x != nil { 272 return x.Image 273 } 274 return "" 275} 276 277// Prediction for what the object in the bounding box is. 278type ProductSearchResults_ObjectAnnotation struct { 279 state protoimpl.MessageState 280 sizeCache protoimpl.SizeCache 281 unknownFields protoimpl.UnknownFields 282 283 // Object ID that should align with EntityAnnotation mid. 284 Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"` 285 // The BCP-47 language code, such as "en-US" or "sr-Latn". For more 286 // information, see 287 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 288 LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 289 // Object name, expressed in its `language_code` language. 290 Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` 291 // Score of the result. Range [0, 1]. 292 Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"` 293} 294 295func (x *ProductSearchResults_ObjectAnnotation) Reset() { 296 *x = ProductSearchResults_ObjectAnnotation{} 297 if protoimpl.UnsafeEnabled { 298 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[3] 299 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 300 ms.StoreMessageInfo(mi) 301 } 302} 303 304func (x *ProductSearchResults_ObjectAnnotation) String() string { 305 return protoimpl.X.MessageStringOf(x) 306} 307 308func (*ProductSearchResults_ObjectAnnotation) ProtoMessage() {} 309 310func (x *ProductSearchResults_ObjectAnnotation) ProtoReflect() protoreflect.Message { 311 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[3] 312 if protoimpl.UnsafeEnabled && x != nil { 313 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 314 if ms.LoadMessageInfo() == nil { 315 ms.StoreMessageInfo(mi) 316 } 317 return ms 318 } 319 return mi.MessageOf(x) 320} 321 322// Deprecated: Use ProductSearchResults_ObjectAnnotation.ProtoReflect.Descriptor instead. 323func (*ProductSearchResults_ObjectAnnotation) Descriptor() ([]byte, []int) { 324 return file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescGZIP(), []int{1, 1} 325} 326 327func (x *ProductSearchResults_ObjectAnnotation) GetMid() string { 328 if x != nil { 329 return x.Mid 330 } 331 return "" 332} 333 334func (x *ProductSearchResults_ObjectAnnotation) GetLanguageCode() string { 335 if x != nil { 336 return x.LanguageCode 337 } 338 return "" 339} 340 341func (x *ProductSearchResults_ObjectAnnotation) GetName() string { 342 if x != nil { 343 return x.Name 344 } 345 return "" 346} 347 348func (x *ProductSearchResults_ObjectAnnotation) GetScore() float32 { 349 if x != nil { 350 return x.Score 351 } 352 return 0 353} 354 355// Information about the products similar to a single product in a query 356// image. 357type ProductSearchResults_GroupedResult struct { 358 state protoimpl.MessageState 359 sizeCache protoimpl.SizeCache 360 unknownFields protoimpl.UnknownFields 361 362 // The bounding polygon around the product detected in the query image. 363 BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"` 364 // List of results, one for each product match. 365 Results []*ProductSearchResults_Result `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` 366 // List of generic predictions for the object in the bounding box. 367 ObjectAnnotations []*ProductSearchResults_ObjectAnnotation `protobuf:"bytes,3,rep,name=object_annotations,json=objectAnnotations,proto3" json:"object_annotations,omitempty"` 368} 369 370func (x *ProductSearchResults_GroupedResult) Reset() { 371 *x = ProductSearchResults_GroupedResult{} 372 if protoimpl.UnsafeEnabled { 373 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[4] 374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 375 ms.StoreMessageInfo(mi) 376 } 377} 378 379func (x *ProductSearchResults_GroupedResult) String() string { 380 return protoimpl.X.MessageStringOf(x) 381} 382 383func (*ProductSearchResults_GroupedResult) ProtoMessage() {} 384 385func (x *ProductSearchResults_GroupedResult) ProtoReflect() protoreflect.Message { 386 mi := &file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[4] 387 if protoimpl.UnsafeEnabled && x != nil { 388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 389 if ms.LoadMessageInfo() == nil { 390 ms.StoreMessageInfo(mi) 391 } 392 return ms 393 } 394 return mi.MessageOf(x) 395} 396 397// Deprecated: Use ProductSearchResults_GroupedResult.ProtoReflect.Descriptor instead. 398func (*ProductSearchResults_GroupedResult) Descriptor() ([]byte, []int) { 399 return file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescGZIP(), []int{1, 2} 400} 401 402func (x *ProductSearchResults_GroupedResult) GetBoundingPoly() *BoundingPoly { 403 if x != nil { 404 return x.BoundingPoly 405 } 406 return nil 407} 408 409func (x *ProductSearchResults_GroupedResult) GetResults() []*ProductSearchResults_Result { 410 if x != nil { 411 return x.Results 412 } 413 return nil 414} 415 416func (x *ProductSearchResults_GroupedResult) GetObjectAnnotations() []*ProductSearchResults_ObjectAnnotation { 417 if x != nil { 418 return x.ObjectAnnotations 419 } 420 return nil 421} 422 423var File_google_cloud_vision_v1p4beta1_product_search_proto protoreflect.FileDescriptor 424 425var file_google_cloud_vision_v1p4beta1_product_search_proto_rawDesc = []byte{ 426 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 427 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 428 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x70, 429 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 430 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 431 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 432 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 433 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 434 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 435 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 436 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6f, 0x6d, 437 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 438 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 439 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 440 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 441 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 442 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 443 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x64, 444 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 445 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 446 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 447 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 448 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 449 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 450 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 451 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x76, 0x69, 0x73, 452 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 453 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x52, 0x0a, 0x70, 454 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 455 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 456 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x61, 457 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 458 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 459 0x22, 0xbe, 0x06, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 460 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 461 0x65, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 462 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 463 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 464 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 465 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 466 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 467 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 468 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 469 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x79, 0x0a, 0x17, 0x70, 0x72, 470 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 471 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 472 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 473 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 474 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 475 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x15, 476 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 477 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x76, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 478 0x40, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 479 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 480 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 481 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 482 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 483 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 484 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x73, 0x0a, 485 0x10, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 486 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 487 0x6d, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 488 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 489 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 490 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 491 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 492 0x72, 0x65, 0x1a, 0xac, 0x02, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 493 0x73, 0x75, 0x6c, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 494 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 495 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 496 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 497 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 498 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x54, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 499 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 500 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 501 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 502 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x73, 503 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x73, 0x0a, 0x12, 504 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 505 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 506 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 507 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 508 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x4f, 0x62, 509 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 510 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 511 0x73, 0x42, 0x88, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 512 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 513 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x12, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 514 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 515 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 516 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 517 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 518 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 519 0x6f, 0x6e, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x56, 0x4e, 0x62, 0x06, 0x70, 0x72, 520 0x6f, 0x74, 0x6f, 0x33, 521} 522 523var ( 524 file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescOnce sync.Once 525 file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescData = file_google_cloud_vision_v1p4beta1_product_search_proto_rawDesc 526) 527 528func file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescGZIP() []byte { 529 file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescOnce.Do(func() { 530 file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescData) 531 }) 532 return file_google_cloud_vision_v1p4beta1_product_search_proto_rawDescData 533} 534 535var file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes = make([]protoimpl.MessageInfo, 5) 536var file_google_cloud_vision_v1p4beta1_product_search_proto_goTypes = []interface{}{ 537 (*ProductSearchParams)(nil), // 0: google.cloud.vision.v1p4beta1.ProductSearchParams 538 (*ProductSearchResults)(nil), // 1: google.cloud.vision.v1p4beta1.ProductSearchResults 539 (*ProductSearchResults_Result)(nil), // 2: google.cloud.vision.v1p4beta1.ProductSearchResults.Result 540 (*ProductSearchResults_ObjectAnnotation)(nil), // 3: google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation 541 (*ProductSearchResults_GroupedResult)(nil), // 4: google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult 542 (*BoundingPoly)(nil), // 5: google.cloud.vision.v1p4beta1.BoundingPoly 543 (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp 544 (*Product)(nil), // 7: google.cloud.vision.v1p4beta1.Product 545} 546var file_google_cloud_vision_v1p4beta1_product_search_proto_depIdxs = []int32{ 547 5, // 0: google.cloud.vision.v1p4beta1.ProductSearchParams.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly 548 6, // 1: google.cloud.vision.v1p4beta1.ProductSearchResults.index_time:type_name -> google.protobuf.Timestamp 549 2, // 2: google.cloud.vision.v1p4beta1.ProductSearchResults.results:type_name -> google.cloud.vision.v1p4beta1.ProductSearchResults.Result 550 4, // 3: google.cloud.vision.v1p4beta1.ProductSearchResults.product_grouped_results:type_name -> google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult 551 7, // 4: google.cloud.vision.v1p4beta1.ProductSearchResults.Result.product:type_name -> google.cloud.vision.v1p4beta1.Product 552 5, // 5: google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly 553 2, // 6: google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.results:type_name -> google.cloud.vision.v1p4beta1.ProductSearchResults.Result 554 3, // 7: google.cloud.vision.v1p4beta1.ProductSearchResults.GroupedResult.object_annotations:type_name -> google.cloud.vision.v1p4beta1.ProductSearchResults.ObjectAnnotation 555 8, // [8:8] is the sub-list for method output_type 556 8, // [8:8] is the sub-list for method input_type 557 8, // [8:8] is the sub-list for extension type_name 558 8, // [8:8] is the sub-list for extension extendee 559 0, // [0:8] is the sub-list for field type_name 560} 561 562func init() { file_google_cloud_vision_v1p4beta1_product_search_proto_init() } 563func file_google_cloud_vision_v1p4beta1_product_search_proto_init() { 564 if File_google_cloud_vision_v1p4beta1_product_search_proto != nil { 565 return 566 } 567 file_google_cloud_vision_v1p4beta1_geometry_proto_init() 568 file_google_cloud_vision_v1p4beta1_product_search_service_proto_init() 569 if !protoimpl.UnsafeEnabled { 570 file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 571 switch v := v.(*ProductSearchParams); i { 572 case 0: 573 return &v.state 574 case 1: 575 return &v.sizeCache 576 case 2: 577 return &v.unknownFields 578 default: 579 return nil 580 } 581 } 582 file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 583 switch v := v.(*ProductSearchResults); i { 584 case 0: 585 return &v.state 586 case 1: 587 return &v.sizeCache 588 case 2: 589 return &v.unknownFields 590 default: 591 return nil 592 } 593 } 594 file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 595 switch v := v.(*ProductSearchResults_Result); i { 596 case 0: 597 return &v.state 598 case 1: 599 return &v.sizeCache 600 case 2: 601 return &v.unknownFields 602 default: 603 return nil 604 } 605 } 606 file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 607 switch v := v.(*ProductSearchResults_ObjectAnnotation); i { 608 case 0: 609 return &v.state 610 case 1: 611 return &v.sizeCache 612 case 2: 613 return &v.unknownFields 614 default: 615 return nil 616 } 617 } 618 file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 619 switch v := v.(*ProductSearchResults_GroupedResult); i { 620 case 0: 621 return &v.state 622 case 1: 623 return &v.sizeCache 624 case 2: 625 return &v.unknownFields 626 default: 627 return nil 628 } 629 } 630 } 631 type x struct{} 632 out := protoimpl.TypeBuilder{ 633 File: protoimpl.DescBuilder{ 634 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 635 RawDescriptor: file_google_cloud_vision_v1p4beta1_product_search_proto_rawDesc, 636 NumEnums: 0, 637 NumMessages: 5, 638 NumExtensions: 0, 639 NumServices: 0, 640 }, 641 GoTypes: file_google_cloud_vision_v1p4beta1_product_search_proto_goTypes, 642 DependencyIndexes: file_google_cloud_vision_v1p4beta1_product_search_proto_depIdxs, 643 MessageInfos: file_google_cloud_vision_v1p4beta1_product_search_proto_msgTypes, 644 }.Build() 645 File_google_cloud_vision_v1p4beta1_product_search_proto = out.File 646 file_google_cloud_vision_v1p4beta1_product_search_proto_rawDesc = nil 647 file_google_cloud_vision_v1p4beta1_product_search_proto_goTypes = nil 648 file_google_cloud_vision_v1p4beta1_product_search_proto_depIdxs = nil 649} 650