cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/match_service.pb.go (about)

     1  // Copyright 2025 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  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1/match_service.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	reflect "reflect"
    28  	sync "sync"
    29  )
    30  
    31  const (
    32  	// Verify that this generated code is sufficiently up-to-date.
    33  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    34  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    36  )
    37  
    38  // The request message for
    39  // [MatchService.FindNeighbors][google.cloud.aiplatform.v1.MatchService.FindNeighbors].
    40  type FindNeighborsRequest struct {
    41  	state         protoimpl.MessageState
    42  	sizeCache     protoimpl.SizeCache
    43  	unknownFields protoimpl.UnknownFields
    44  
    45  	// Required. The name of the index endpoint.
    46  	// Format:
    47  	// `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`
    48  	IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"`
    49  	// The ID of the DeployedIndex that will serve the request. This request is
    50  	// sent to a specific IndexEndpoint, as per the IndexEndpoint.network. That
    51  	// IndexEndpoint also has IndexEndpoint.deployed_indexes, and each such index
    52  	// has a DeployedIndex.id field.
    53  	// The value of the field below must equal one of the DeployedIndex.id
    54  	// fields of the IndexEndpoint that is being called for this request.
    55  	DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"`
    56  	// The list of queries.
    57  	Queries []*FindNeighborsRequest_Query `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"`
    58  	// If set to true, the full datapoints (including all vector values and
    59  	// restricts) of the nearest neighbors are returned.
    60  	// Note that returning full datapoint will significantly increase the
    61  	// latency and cost of the query.
    62  	ReturnFullDatapoint bool `protobuf:"varint,4,opt,name=return_full_datapoint,json=returnFullDatapoint,proto3" json:"return_full_datapoint,omitempty"`
    63  }
    64  
    65  func (x *FindNeighborsRequest) Reset() {
    66  	*x = FindNeighborsRequest{}
    67  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[0]
    68  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    69  	ms.StoreMessageInfo(mi)
    70  }
    71  
    72  func (x *FindNeighborsRequest) String() string {
    73  	return protoimpl.X.MessageStringOf(x)
    74  }
    75  
    76  func (*FindNeighborsRequest) ProtoMessage() {}
    77  
    78  func (x *FindNeighborsRequest) ProtoReflect() protoreflect.Message {
    79  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[0]
    80  	if x != nil {
    81  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    82  		if ms.LoadMessageInfo() == nil {
    83  			ms.StoreMessageInfo(mi)
    84  		}
    85  		return ms
    86  	}
    87  	return mi.MessageOf(x)
    88  }
    89  
    90  // Deprecated: Use FindNeighborsRequest.ProtoReflect.Descriptor instead.
    91  func (*FindNeighborsRequest) Descriptor() ([]byte, []int) {
    92  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{0}
    93  }
    94  
    95  func (x *FindNeighborsRequest) GetIndexEndpoint() string {
    96  	if x != nil {
    97  		return x.IndexEndpoint
    98  	}
    99  	return ""
   100  }
   101  
   102  func (x *FindNeighborsRequest) GetDeployedIndexId() string {
   103  	if x != nil {
   104  		return x.DeployedIndexId
   105  	}
   106  	return ""
   107  }
   108  
   109  func (x *FindNeighborsRequest) GetQueries() []*FindNeighborsRequest_Query {
   110  	if x != nil {
   111  		return x.Queries
   112  	}
   113  	return nil
   114  }
   115  
   116  func (x *FindNeighborsRequest) GetReturnFullDatapoint() bool {
   117  	if x != nil {
   118  		return x.ReturnFullDatapoint
   119  	}
   120  	return false
   121  }
   122  
   123  // The response message for
   124  // [MatchService.FindNeighbors][google.cloud.aiplatform.v1.MatchService.FindNeighbors].
   125  type FindNeighborsResponse struct {
   126  	state         protoimpl.MessageState
   127  	sizeCache     protoimpl.SizeCache
   128  	unknownFields protoimpl.UnknownFields
   129  
   130  	// The nearest neighbors of the query datapoints.
   131  	NearestNeighbors []*FindNeighborsResponse_NearestNeighbors `protobuf:"bytes,1,rep,name=nearest_neighbors,json=nearestNeighbors,proto3" json:"nearest_neighbors,omitempty"`
   132  }
   133  
   134  func (x *FindNeighborsResponse) Reset() {
   135  	*x = FindNeighborsResponse{}
   136  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[1]
   137  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   138  	ms.StoreMessageInfo(mi)
   139  }
   140  
   141  func (x *FindNeighborsResponse) String() string {
   142  	return protoimpl.X.MessageStringOf(x)
   143  }
   144  
   145  func (*FindNeighborsResponse) ProtoMessage() {}
   146  
   147  func (x *FindNeighborsResponse) ProtoReflect() protoreflect.Message {
   148  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[1]
   149  	if x != nil {
   150  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   151  		if ms.LoadMessageInfo() == nil {
   152  			ms.StoreMessageInfo(mi)
   153  		}
   154  		return ms
   155  	}
   156  	return mi.MessageOf(x)
   157  }
   158  
   159  // Deprecated: Use FindNeighborsResponse.ProtoReflect.Descriptor instead.
   160  func (*FindNeighborsResponse) Descriptor() ([]byte, []int) {
   161  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{1}
   162  }
   163  
   164  func (x *FindNeighborsResponse) GetNearestNeighbors() []*FindNeighborsResponse_NearestNeighbors {
   165  	if x != nil {
   166  		return x.NearestNeighbors
   167  	}
   168  	return nil
   169  }
   170  
   171  // The request message for
   172  // [MatchService.ReadIndexDatapoints][google.cloud.aiplatform.v1.MatchService.ReadIndexDatapoints].
   173  type ReadIndexDatapointsRequest struct {
   174  	state         protoimpl.MessageState
   175  	sizeCache     protoimpl.SizeCache
   176  	unknownFields protoimpl.UnknownFields
   177  
   178  	// Required. The name of the index endpoint.
   179  	// Format:
   180  	// `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`
   181  	IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"`
   182  	// The ID of the DeployedIndex that will serve the request.
   183  	DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"`
   184  	// IDs of the datapoints to be searched for.
   185  	Ids []string `protobuf:"bytes,3,rep,name=ids,proto3" json:"ids,omitempty"`
   186  }
   187  
   188  func (x *ReadIndexDatapointsRequest) Reset() {
   189  	*x = ReadIndexDatapointsRequest{}
   190  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[2]
   191  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   192  	ms.StoreMessageInfo(mi)
   193  }
   194  
   195  func (x *ReadIndexDatapointsRequest) String() string {
   196  	return protoimpl.X.MessageStringOf(x)
   197  }
   198  
   199  func (*ReadIndexDatapointsRequest) ProtoMessage() {}
   200  
   201  func (x *ReadIndexDatapointsRequest) ProtoReflect() protoreflect.Message {
   202  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[2]
   203  	if x != nil {
   204  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   205  		if ms.LoadMessageInfo() == nil {
   206  			ms.StoreMessageInfo(mi)
   207  		}
   208  		return ms
   209  	}
   210  	return mi.MessageOf(x)
   211  }
   212  
   213  // Deprecated: Use ReadIndexDatapointsRequest.ProtoReflect.Descriptor instead.
   214  func (*ReadIndexDatapointsRequest) Descriptor() ([]byte, []int) {
   215  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{2}
   216  }
   217  
   218  func (x *ReadIndexDatapointsRequest) GetIndexEndpoint() string {
   219  	if x != nil {
   220  		return x.IndexEndpoint
   221  	}
   222  	return ""
   223  }
   224  
   225  func (x *ReadIndexDatapointsRequest) GetDeployedIndexId() string {
   226  	if x != nil {
   227  		return x.DeployedIndexId
   228  	}
   229  	return ""
   230  }
   231  
   232  func (x *ReadIndexDatapointsRequest) GetIds() []string {
   233  	if x != nil {
   234  		return x.Ids
   235  	}
   236  	return nil
   237  }
   238  
   239  // The response message for
   240  // [MatchService.ReadIndexDatapoints][google.cloud.aiplatform.v1.MatchService.ReadIndexDatapoints].
   241  type ReadIndexDatapointsResponse struct {
   242  	state         protoimpl.MessageState
   243  	sizeCache     protoimpl.SizeCache
   244  	unknownFields protoimpl.UnknownFields
   245  
   246  	// The result list of datapoints.
   247  	Datapoints []*IndexDatapoint `protobuf:"bytes,1,rep,name=datapoints,proto3" json:"datapoints,omitempty"`
   248  }
   249  
   250  func (x *ReadIndexDatapointsResponse) Reset() {
   251  	*x = ReadIndexDatapointsResponse{}
   252  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[3]
   253  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   254  	ms.StoreMessageInfo(mi)
   255  }
   256  
   257  func (x *ReadIndexDatapointsResponse) String() string {
   258  	return protoimpl.X.MessageStringOf(x)
   259  }
   260  
   261  func (*ReadIndexDatapointsResponse) ProtoMessage() {}
   262  
   263  func (x *ReadIndexDatapointsResponse) ProtoReflect() protoreflect.Message {
   264  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[3]
   265  	if x != nil {
   266  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   267  		if ms.LoadMessageInfo() == nil {
   268  			ms.StoreMessageInfo(mi)
   269  		}
   270  		return ms
   271  	}
   272  	return mi.MessageOf(x)
   273  }
   274  
   275  // Deprecated: Use ReadIndexDatapointsResponse.ProtoReflect.Descriptor instead.
   276  func (*ReadIndexDatapointsResponse) Descriptor() ([]byte, []int) {
   277  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{3}
   278  }
   279  
   280  func (x *ReadIndexDatapointsResponse) GetDatapoints() []*IndexDatapoint {
   281  	if x != nil {
   282  		return x.Datapoints
   283  	}
   284  	return nil
   285  }
   286  
   287  // A query to find a number of the nearest neighbors (most similar vectors)
   288  // of a vector.
   289  type FindNeighborsRequest_Query struct {
   290  	state         protoimpl.MessageState
   291  	sizeCache     protoimpl.SizeCache
   292  	unknownFields protoimpl.UnknownFields
   293  
   294  	// Types that are assignable to Ranking:
   295  	//
   296  	//	*FindNeighborsRequest_Query_Rrf
   297  	Ranking isFindNeighborsRequest_Query_Ranking `protobuf_oneof:"ranking"`
   298  	// Required. The datapoint/vector whose nearest neighbors should be searched
   299  	// for.
   300  	Datapoint *IndexDatapoint `protobuf:"bytes,1,opt,name=datapoint,proto3" json:"datapoint,omitempty"`
   301  	// The number of nearest neighbors to be retrieved from database for each
   302  	// query. If not set, will use the default from the service configuration
   303  	// (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config).
   304  	NeighborCount int32 `protobuf:"varint,2,opt,name=neighbor_count,json=neighborCount,proto3" json:"neighbor_count,omitempty"`
   305  	// Crowding is a constraint on a neighbor list produced by nearest neighbor
   306  	// search requiring that no more than some value k' of the k neighbors
   307  	// returned have the same value of crowding_attribute.
   308  	// It's used for improving result diversity.
   309  	// This field is the maximum number of matches with the same crowding tag.
   310  	PerCrowdingAttributeNeighborCount int32 `protobuf:"varint,3,opt,name=per_crowding_attribute_neighbor_count,json=perCrowdingAttributeNeighborCount,proto3" json:"per_crowding_attribute_neighbor_count,omitempty"`
   311  	// The number of neighbors to find via approximate search before
   312  	// exact reordering is performed. If not set, the default value from scam
   313  	// config is used; if set, this value must be > 0.
   314  	ApproximateNeighborCount int32 `protobuf:"varint,4,opt,name=approximate_neighbor_count,json=approximateNeighborCount,proto3" json:"approximate_neighbor_count,omitempty"`
   315  	// The fraction of the number of leaves to search, set at query time allows
   316  	// user to tune search performance. This value increase result in both
   317  	// search accuracy and latency increase. The value should be between 0.0
   318  	// and 1.0. If not set or set to 0.0, query uses the default value specified
   319  	// in
   320  	// NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search.
   321  	FractionLeafNodesToSearchOverride float64 `protobuf:"fixed64,5,opt,name=fraction_leaf_nodes_to_search_override,json=fractionLeafNodesToSearchOverride,proto3" json:"fraction_leaf_nodes_to_search_override,omitempty"`
   322  }
   323  
   324  func (x *FindNeighborsRequest_Query) Reset() {
   325  	*x = FindNeighborsRequest_Query{}
   326  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[4]
   327  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   328  	ms.StoreMessageInfo(mi)
   329  }
   330  
   331  func (x *FindNeighborsRequest_Query) String() string {
   332  	return protoimpl.X.MessageStringOf(x)
   333  }
   334  
   335  func (*FindNeighborsRequest_Query) ProtoMessage() {}
   336  
   337  func (x *FindNeighborsRequest_Query) ProtoReflect() protoreflect.Message {
   338  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[4]
   339  	if x != nil {
   340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   341  		if ms.LoadMessageInfo() == nil {
   342  			ms.StoreMessageInfo(mi)
   343  		}
   344  		return ms
   345  	}
   346  	return mi.MessageOf(x)
   347  }
   348  
   349  // Deprecated: Use FindNeighborsRequest_Query.ProtoReflect.Descriptor instead.
   350  func (*FindNeighborsRequest_Query) Descriptor() ([]byte, []int) {
   351  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{0, 0}
   352  }
   353  
   354  func (m *FindNeighborsRequest_Query) GetRanking() isFindNeighborsRequest_Query_Ranking {
   355  	if m != nil {
   356  		return m.Ranking
   357  	}
   358  	return nil
   359  }
   360  
   361  func (x *FindNeighborsRequest_Query) GetRrf() *FindNeighborsRequest_Query_RRF {
   362  	if x, ok := x.GetRanking().(*FindNeighborsRequest_Query_Rrf); ok {
   363  		return x.Rrf
   364  	}
   365  	return nil
   366  }
   367  
   368  func (x *FindNeighborsRequest_Query) GetDatapoint() *IndexDatapoint {
   369  	if x != nil {
   370  		return x.Datapoint
   371  	}
   372  	return nil
   373  }
   374  
   375  func (x *FindNeighborsRequest_Query) GetNeighborCount() int32 {
   376  	if x != nil {
   377  		return x.NeighborCount
   378  	}
   379  	return 0
   380  }
   381  
   382  func (x *FindNeighborsRequest_Query) GetPerCrowdingAttributeNeighborCount() int32 {
   383  	if x != nil {
   384  		return x.PerCrowdingAttributeNeighborCount
   385  	}
   386  	return 0
   387  }
   388  
   389  func (x *FindNeighborsRequest_Query) GetApproximateNeighborCount() int32 {
   390  	if x != nil {
   391  		return x.ApproximateNeighborCount
   392  	}
   393  	return 0
   394  }
   395  
   396  func (x *FindNeighborsRequest_Query) GetFractionLeafNodesToSearchOverride() float64 {
   397  	if x != nil {
   398  		return x.FractionLeafNodesToSearchOverride
   399  	}
   400  	return 0
   401  }
   402  
   403  type isFindNeighborsRequest_Query_Ranking interface {
   404  	isFindNeighborsRequest_Query_Ranking()
   405  }
   406  
   407  type FindNeighborsRequest_Query_Rrf struct {
   408  	// Optional. Represents RRF algorithm that combines search results.
   409  	Rrf *FindNeighborsRequest_Query_RRF `protobuf:"bytes,6,opt,name=rrf,proto3,oneof"`
   410  }
   411  
   412  func (*FindNeighborsRequest_Query_Rrf) isFindNeighborsRequest_Query_Ranking() {}
   413  
   414  // Parameters for RRF algorithm that combines search results.
   415  type FindNeighborsRequest_Query_RRF struct {
   416  	state         protoimpl.MessageState
   417  	sizeCache     protoimpl.SizeCache
   418  	unknownFields protoimpl.UnknownFields
   419  
   420  	// Required. Users can provide an alpha value to give more weight to dense
   421  	// vs sparse results. For example, if the alpha is 0, we only return
   422  	// sparse and if the alpha is 1, we only return dense.
   423  	Alpha float32 `protobuf:"fixed32,1,opt,name=alpha,proto3" json:"alpha,omitempty"`
   424  }
   425  
   426  func (x *FindNeighborsRequest_Query_RRF) Reset() {
   427  	*x = FindNeighborsRequest_Query_RRF{}
   428  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[5]
   429  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   430  	ms.StoreMessageInfo(mi)
   431  }
   432  
   433  func (x *FindNeighborsRequest_Query_RRF) String() string {
   434  	return protoimpl.X.MessageStringOf(x)
   435  }
   436  
   437  func (*FindNeighborsRequest_Query_RRF) ProtoMessage() {}
   438  
   439  func (x *FindNeighborsRequest_Query_RRF) ProtoReflect() protoreflect.Message {
   440  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[5]
   441  	if x != nil {
   442  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   443  		if ms.LoadMessageInfo() == nil {
   444  			ms.StoreMessageInfo(mi)
   445  		}
   446  		return ms
   447  	}
   448  	return mi.MessageOf(x)
   449  }
   450  
   451  // Deprecated: Use FindNeighborsRequest_Query_RRF.ProtoReflect.Descriptor instead.
   452  func (*FindNeighborsRequest_Query_RRF) Descriptor() ([]byte, []int) {
   453  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{0, 0, 0}
   454  }
   455  
   456  func (x *FindNeighborsRequest_Query_RRF) GetAlpha() float32 {
   457  	if x != nil {
   458  		return x.Alpha
   459  	}
   460  	return 0
   461  }
   462  
   463  // A neighbor of the query vector.
   464  type FindNeighborsResponse_Neighbor struct {
   465  	state         protoimpl.MessageState
   466  	sizeCache     protoimpl.SizeCache
   467  	unknownFields protoimpl.UnknownFields
   468  
   469  	// The datapoint of the neighbor.
   470  	// Note that full datapoints are returned only when "return_full_datapoint"
   471  	// is set to true. Otherwise, only the "datapoint_id" and "crowding_tag"
   472  	// fields are populated.
   473  	Datapoint *IndexDatapoint `protobuf:"bytes,1,opt,name=datapoint,proto3" json:"datapoint,omitempty"`
   474  	// The distance between the neighbor and the dense embedding query.
   475  	Distance float64 `protobuf:"fixed64,2,opt,name=distance,proto3" json:"distance,omitempty"`
   476  	// The distance between the neighbor and the query sparse_embedding.
   477  	SparseDistance float64 `protobuf:"fixed64,3,opt,name=sparse_distance,json=sparseDistance,proto3" json:"sparse_distance,omitempty"`
   478  }
   479  
   480  func (x *FindNeighborsResponse_Neighbor) Reset() {
   481  	*x = FindNeighborsResponse_Neighbor{}
   482  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[6]
   483  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   484  	ms.StoreMessageInfo(mi)
   485  }
   486  
   487  func (x *FindNeighborsResponse_Neighbor) String() string {
   488  	return protoimpl.X.MessageStringOf(x)
   489  }
   490  
   491  func (*FindNeighborsResponse_Neighbor) ProtoMessage() {}
   492  
   493  func (x *FindNeighborsResponse_Neighbor) ProtoReflect() protoreflect.Message {
   494  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[6]
   495  	if x != nil {
   496  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   497  		if ms.LoadMessageInfo() == nil {
   498  			ms.StoreMessageInfo(mi)
   499  		}
   500  		return ms
   501  	}
   502  	return mi.MessageOf(x)
   503  }
   504  
   505  // Deprecated: Use FindNeighborsResponse_Neighbor.ProtoReflect.Descriptor instead.
   506  func (*FindNeighborsResponse_Neighbor) Descriptor() ([]byte, []int) {
   507  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{1, 0}
   508  }
   509  
   510  func (x *FindNeighborsResponse_Neighbor) GetDatapoint() *IndexDatapoint {
   511  	if x != nil {
   512  		return x.Datapoint
   513  	}
   514  	return nil
   515  }
   516  
   517  func (x *FindNeighborsResponse_Neighbor) GetDistance() float64 {
   518  	if x != nil {
   519  		return x.Distance
   520  	}
   521  	return 0
   522  }
   523  
   524  func (x *FindNeighborsResponse_Neighbor) GetSparseDistance() float64 {
   525  	if x != nil {
   526  		return x.SparseDistance
   527  	}
   528  	return 0
   529  }
   530  
   531  // Nearest neighbors for one query.
   532  type FindNeighborsResponse_NearestNeighbors struct {
   533  	state         protoimpl.MessageState
   534  	sizeCache     protoimpl.SizeCache
   535  	unknownFields protoimpl.UnknownFields
   536  
   537  	// The ID of the query datapoint.
   538  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   539  	// All its neighbors.
   540  	Neighbors []*FindNeighborsResponse_Neighbor `protobuf:"bytes,2,rep,name=neighbors,proto3" json:"neighbors,omitempty"`
   541  }
   542  
   543  func (x *FindNeighborsResponse_NearestNeighbors) Reset() {
   544  	*x = FindNeighborsResponse_NearestNeighbors{}
   545  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[7]
   546  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   547  	ms.StoreMessageInfo(mi)
   548  }
   549  
   550  func (x *FindNeighborsResponse_NearestNeighbors) String() string {
   551  	return protoimpl.X.MessageStringOf(x)
   552  }
   553  
   554  func (*FindNeighborsResponse_NearestNeighbors) ProtoMessage() {}
   555  
   556  func (x *FindNeighborsResponse_NearestNeighbors) ProtoReflect() protoreflect.Message {
   557  	mi := &file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[7]
   558  	if x != nil {
   559  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   560  		if ms.LoadMessageInfo() == nil {
   561  			ms.StoreMessageInfo(mi)
   562  		}
   563  		return ms
   564  	}
   565  	return mi.MessageOf(x)
   566  }
   567  
   568  // Deprecated: Use FindNeighborsResponse_NearestNeighbors.ProtoReflect.Descriptor instead.
   569  func (*FindNeighborsResponse_NearestNeighbors) Descriptor() ([]byte, []int) {
   570  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP(), []int{1, 1}
   571  }
   572  
   573  func (x *FindNeighborsResponse_NearestNeighbors) GetId() string {
   574  	if x != nil {
   575  		return x.Id
   576  	}
   577  	return ""
   578  }
   579  
   580  func (x *FindNeighborsResponse_NearestNeighbors) GetNeighbors() []*FindNeighborsResponse_Neighbor {
   581  	if x != nil {
   582  		return x.Neighbors
   583  	}
   584  	return nil
   585  }
   586  
   587  var File_google_cloud_aiplatform_v1_match_service_proto protoreflect.FileDescriptor
   588  
   589  var file_google_cloud_aiplatform_v1_match_service_proto_rawDesc = []byte{
   590  	0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
   591  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x74,
   592  	0x63, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   593  	0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
   594  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f,
   595  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
   596  	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67,
   597  	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
   598  	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
   599  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70,
   600  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
   601  	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   602  	0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69,
   603  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x64, 0x65,
   604  	0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64,
   605  	0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
   606  	0x12, 0x56, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
   607  	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29,
   608  	0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
   609  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65,
   610  	0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78,
   611  	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c,
   612  	0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
   613  	0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64,
   614  	0x65, 0x78, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18,
   615  	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
   616  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
   617  	0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73,
   618  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71,
   619  	0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
   620  	0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
   621  	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6c,
   622  	0x6c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0xe2, 0x03, 0x0a, 0x05, 0x51,
   623  	0x75, 0x65, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x03, 0x72, 0x72, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28,
   624  	0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   625  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46,
   626  	0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
   627  	0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x52, 0x46, 0x42, 0x03, 0xe0,
   628  	0x41, 0x01, 0x48, 0x00, 0x52, 0x03, 0x72, 0x72, 0x66, 0x12, 0x4d, 0x0a, 0x09, 0x64, 0x61, 0x74,
   629  	0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
   630  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
   631  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44,
   632  	0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64,
   633  	0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x69, 0x67,
   634  	0x68, 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
   635  	0x52, 0x0d, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
   636  	0x50, 0x0a, 0x25, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f,
   637  	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62,
   638  	0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21,
   639  	0x70, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69,
   640  	0x62, 0x75, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e,
   641  	0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65,
   642  	0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
   643  	0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61,
   644  	0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
   645  	0x51, 0x0a, 0x26, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x61, 0x66,
   646  	0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
   647  	0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52,
   648  	0x21, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64,
   649  	0x65, 0x73, 0x54, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69,
   650  	0x64, 0x65, 0x1a, 0x20, 0x0a, 0x03, 0x52, 0x52, 0x46, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x70,
   651  	0x68, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x61,
   652  	0x6c, 0x70, 0x68, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x22,
   653  	0xa2, 0x03, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72,
   654  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x11, 0x6e, 0x65, 0x61,
   655  	0x72, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x18, 0x01,
   656  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   657  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
   658  	0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52,
   659  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e,
   660  	0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73,
   661  	0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x1a, 0x99, 0x01, 0x0a, 0x08, 0x4e,
   662  	0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x48, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x70,
   663  	0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
   664  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
   665  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74,
   666  	0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e,
   667  	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20,
   668  	0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a,
   669  	0x0f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
   670  	0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x44, 0x69,
   671  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x7c, 0x0a, 0x10, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73,
   672  	0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
   673  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x09, 0x6e, 0x65,
   674  	0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e,
   675  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
   676  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e,
   677  	0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   678  	0x2e, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x09, 0x6e, 0x65, 0x69, 0x67, 0x68,
   679  	0x62, 0x6f, 0x72, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64,
   680  	0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
   681  	0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64,
   682  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02,
   683  	0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
   684  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49,
   685  	0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x69, 0x6e,
   686  	0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64,
   687  	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64,
   688  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64,
   689  	0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x03,
   690  	0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x69, 0x0a, 0x1b, 0x52, 0x65, 0x61,
   691  	0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
   692  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61,
   693  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
   694  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
   695  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44,
   696  	0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f,
   697  	0x69, 0x6e, 0x74, 0x73, 0x32, 0x91, 0x04, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65,
   698  	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65,
   699  	0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   700  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
   701  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f,
   702  	0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   703  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
   704  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68,
   705  	0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3,
   706  	0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x01, 0x2a, 0x22, 0x4a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x69, 0x6e,
   707  	0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
   708  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   709  	0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   710  	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62,
   711  	0x6f, 0x72, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65,
   712  	0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f,
   713  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
   714  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64,
   715  	0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
   716  	0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
   717  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
   718  	0x2e, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f,
   719  	0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3,
   720  	0xe4, 0x93, 0x02, 0x55, 0x3a, 0x01, 0x2a, 0x22, 0x50, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x69, 0x6e,
   721  	0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
   722  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   723  	0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   724  	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44,
   725  	0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69,
   726  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
   727  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
   728  	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
   729  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
   730  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xcf, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d,
   731  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
   732  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4d, 0x61, 0x74,
   733  	0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
   734  	0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
   735  	0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
   736  	0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
   737  	0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62,
   738  	0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
   739  	0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a,
   740  	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50,
   741  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f,
   742  	0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c,
   743  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
   744  	0x6f, 0x33,
   745  }
   746  
   747  var (
   748  	file_google_cloud_aiplatform_v1_match_service_proto_rawDescOnce sync.Once
   749  	file_google_cloud_aiplatform_v1_match_service_proto_rawDescData = file_google_cloud_aiplatform_v1_match_service_proto_rawDesc
   750  )
   751  
   752  func file_google_cloud_aiplatform_v1_match_service_proto_rawDescGZIP() []byte {
   753  	file_google_cloud_aiplatform_v1_match_service_proto_rawDescOnce.Do(func() {
   754  		file_google_cloud_aiplatform_v1_match_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_match_service_proto_rawDescData)
   755  	})
   756  	return file_google_cloud_aiplatform_v1_match_service_proto_rawDescData
   757  }
   758  
   759  var file_google_cloud_aiplatform_v1_match_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
   760  var file_google_cloud_aiplatform_v1_match_service_proto_goTypes = []any{
   761  	(*FindNeighborsRequest)(nil),                   // 0: google.cloud.aiplatform.v1.FindNeighborsRequest
   762  	(*FindNeighborsResponse)(nil),                  // 1: google.cloud.aiplatform.v1.FindNeighborsResponse
   763  	(*ReadIndexDatapointsRequest)(nil),             // 2: google.cloud.aiplatform.v1.ReadIndexDatapointsRequest
   764  	(*ReadIndexDatapointsResponse)(nil),            // 3: google.cloud.aiplatform.v1.ReadIndexDatapointsResponse
   765  	(*FindNeighborsRequest_Query)(nil),             // 4: google.cloud.aiplatform.v1.FindNeighborsRequest.Query
   766  	(*FindNeighborsRequest_Query_RRF)(nil),         // 5: google.cloud.aiplatform.v1.FindNeighborsRequest.Query.RRF
   767  	(*FindNeighborsResponse_Neighbor)(nil),         // 6: google.cloud.aiplatform.v1.FindNeighborsResponse.Neighbor
   768  	(*FindNeighborsResponse_NearestNeighbors)(nil), // 7: google.cloud.aiplatform.v1.FindNeighborsResponse.NearestNeighbors
   769  	(*IndexDatapoint)(nil),                         // 8: google.cloud.aiplatform.v1.IndexDatapoint
   770  }
   771  var file_google_cloud_aiplatform_v1_match_service_proto_depIdxs = []int32{
   772  	4, // 0: google.cloud.aiplatform.v1.FindNeighborsRequest.queries:type_name -> google.cloud.aiplatform.v1.FindNeighborsRequest.Query
   773  	7, // 1: google.cloud.aiplatform.v1.FindNeighborsResponse.nearest_neighbors:type_name -> google.cloud.aiplatform.v1.FindNeighborsResponse.NearestNeighbors
   774  	8, // 2: google.cloud.aiplatform.v1.ReadIndexDatapointsResponse.datapoints:type_name -> google.cloud.aiplatform.v1.IndexDatapoint
   775  	5, // 3: google.cloud.aiplatform.v1.FindNeighborsRequest.Query.rrf:type_name -> google.cloud.aiplatform.v1.FindNeighborsRequest.Query.RRF
   776  	8, // 4: google.cloud.aiplatform.v1.FindNeighborsRequest.Query.datapoint:type_name -> google.cloud.aiplatform.v1.IndexDatapoint
   777  	8, // 5: google.cloud.aiplatform.v1.FindNeighborsResponse.Neighbor.datapoint:type_name -> google.cloud.aiplatform.v1.IndexDatapoint
   778  	6, // 6: google.cloud.aiplatform.v1.FindNeighborsResponse.NearestNeighbors.neighbors:type_name -> google.cloud.aiplatform.v1.FindNeighborsResponse.Neighbor
   779  	0, // 7: google.cloud.aiplatform.v1.MatchService.FindNeighbors:input_type -> google.cloud.aiplatform.v1.FindNeighborsRequest
   780  	2, // 8: google.cloud.aiplatform.v1.MatchService.ReadIndexDatapoints:input_type -> google.cloud.aiplatform.v1.ReadIndexDatapointsRequest
   781  	1, // 9: google.cloud.aiplatform.v1.MatchService.FindNeighbors:output_type -> google.cloud.aiplatform.v1.FindNeighborsResponse
   782  	3, // 10: google.cloud.aiplatform.v1.MatchService.ReadIndexDatapoints:output_type -> google.cloud.aiplatform.v1.ReadIndexDatapointsResponse
   783  	9, // [9:11] is the sub-list for method output_type
   784  	7, // [7:9] is the sub-list for method input_type
   785  	7, // [7:7] is the sub-list for extension type_name
   786  	7, // [7:7] is the sub-list for extension extendee
   787  	0, // [0:7] is the sub-list for field type_name
   788  }
   789  
   790  func init() { file_google_cloud_aiplatform_v1_match_service_proto_init() }
   791  func file_google_cloud_aiplatform_v1_match_service_proto_init() {
   792  	if File_google_cloud_aiplatform_v1_match_service_proto != nil {
   793  		return
   794  	}
   795  	file_google_cloud_aiplatform_v1_index_proto_init()
   796  	file_google_cloud_aiplatform_v1_match_service_proto_msgTypes[4].OneofWrappers = []any{
   797  		(*FindNeighborsRequest_Query_Rrf)(nil),
   798  	}
   799  	type x struct{}
   800  	out := protoimpl.TypeBuilder{
   801  		File: protoimpl.DescBuilder{
   802  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   803  			RawDescriptor: file_google_cloud_aiplatform_v1_match_service_proto_rawDesc,
   804  			NumEnums:      0,
   805  			NumMessages:   8,
   806  			NumExtensions: 0,
   807  			NumServices:   1,
   808  		},
   809  		GoTypes:           file_google_cloud_aiplatform_v1_match_service_proto_goTypes,
   810  		DependencyIndexes: file_google_cloud_aiplatform_v1_match_service_proto_depIdxs,
   811  		MessageInfos:      file_google_cloud_aiplatform_v1_match_service_proto_msgTypes,
   812  	}.Build()
   813  	File_google_cloud_aiplatform_v1_match_service_proto = out.File
   814  	file_google_cloud_aiplatform_v1_match_service_proto_rawDesc = nil
   815  	file_google_cloud_aiplatform_v1_match_service_proto_goTypes = nil
   816  	file_google_cloud_aiplatform_v1_match_service_proto_depIdxs = nil
   817  }