Class: Google::Cloud::AIPlatform::V1::IndexDatapoint

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/aiplatform/v1/index.rb

Overview

A datapoint of Index.

Defined Under Namespace

Classes: CrowdingTag, NumericRestriction, Restriction, SparseEmbedding

Instance Attribute Summary collapse

Instance Attribute Details

#crowding_tag::Google::Cloud::AIPlatform::V1::IndexDatapoint::CrowdingTag

Returns Optional. CrowdingTag of the datapoint, the number of neighbors to return in each crowding can be configured during query.

Returns:



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'proto_docs/google/cloud/aiplatform/v1/index.rb', line 155

class IndexDatapoint
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Feature embedding vector for sparse index. An array of numbers whose values
  # are located in the specified dimensions.
  # @!attribute [rw] values
  #   @return [::Array<::Float>]
  #     Required. The list of embedding values of the sparse vector.
  # @!attribute [rw] dimensions
  #   @return [::Array<::Integer>]
  #     Required. The list of indexes for the embedding values of the sparse
  #     vector.
  class SparseEmbedding
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Restriction of a datapoint which describe its attributes(tokens) from each
  # of several attribute categories(namespaces).
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: color.
  # @!attribute [rw] allow_list
  #   @return [::Array<::String>]
  #     The attributes to allow in this namespace. e.g.: 'red'
  # @!attribute [rw] deny_list
  #   @return [::Array<::String>]
  #     The attributes to deny in this namespace. e.g.: 'blue'
  class Restriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # This field allows restricts to be based on numeric comparisons rather
  # than categorical tokens.
  # @!attribute [rw] value_int
  #   @return [::Integer]
  #     Represents 64 bit integer.
  # @!attribute [rw] value_float
  #   @return [::Float]
  #     Represents 32 bit float.
  # @!attribute [rw] value_double
  #   @return [::Float]
  #     Represents 64 bit float.
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: cost.
  # @!attribute [rw] op
  #   @return [::Google::Cloud::AIPlatform::V1::IndexDatapoint::NumericRestriction::Operator]
  #     This MUST be specified for queries and must NOT be specified for
  #     datapoints.
  class NumericRestriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Which comparison operator to use.  Should be specified for queries only;
    # specifying this for a datapoint is an error.
    #
    # Datapoints for which Operator is true relative to the query's Value
    # field will be allowlisted.
    module Operator
      # Default value of the enum.
      OPERATOR_UNSPECIFIED = 0

      # Datapoints are eligible iff their value is < the query's.
      LESS = 1

      # Datapoints are eligible iff their value is <= the query's.
      LESS_EQUAL = 2

      # Datapoints are eligible iff their value is == the query's.
      EQUAL = 3

      # Datapoints are eligible iff their value is >= the query's.
      GREATER_EQUAL = 4

      # Datapoints are eligible iff their value is > the query's.
      GREATER = 5

      # Datapoints are eligible iff their value is != the query's.
      NOT_EQUAL = 6
    end
  end

  # Crowding tag is a constraint on a neighbor list produced by nearest
  # neighbor search requiring that no more than some value k' of the k
  # neighbors returned have the same value of crowding_attribute.
  # @!attribute [rw] crowding_attribute
  #   @return [::String]
  #     The attribute value used for crowding.  The maximum number of neighbors
  #     to return per crowding attribute value
  #     (per_crowding_attribute_num_neighbors) is configured per-query. This
  #     field is ignored if per_crowding_attribute_num_neighbors is larger than
  #     the total number of neighbors to return for a given query.
  class CrowdingTag
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#datapoint_id::String

Returns Required. Unique identifier of the datapoint.

Returns:

  • (::String)

    Required. Unique identifier of the datapoint.



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'proto_docs/google/cloud/aiplatform/v1/index.rb', line 155

class IndexDatapoint
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Feature embedding vector for sparse index. An array of numbers whose values
  # are located in the specified dimensions.
  # @!attribute [rw] values
  #   @return [::Array<::Float>]
  #     Required. The list of embedding values of the sparse vector.
  # @!attribute [rw] dimensions
  #   @return [::Array<::Integer>]
  #     Required. The list of indexes for the embedding values of the sparse
  #     vector.
  class SparseEmbedding
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Restriction of a datapoint which describe its attributes(tokens) from each
  # of several attribute categories(namespaces).
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: color.
  # @!attribute [rw] allow_list
  #   @return [::Array<::String>]
  #     The attributes to allow in this namespace. e.g.: 'red'
  # @!attribute [rw] deny_list
  #   @return [::Array<::String>]
  #     The attributes to deny in this namespace. e.g.: 'blue'
  class Restriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # This field allows restricts to be based on numeric comparisons rather
  # than categorical tokens.
  # @!attribute [rw] value_int
  #   @return [::Integer]
  #     Represents 64 bit integer.
  # @!attribute [rw] value_float
  #   @return [::Float]
  #     Represents 32 bit float.
  # @!attribute [rw] value_double
  #   @return [::Float]
  #     Represents 64 bit float.
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: cost.
  # @!attribute [rw] op
  #   @return [::Google::Cloud::AIPlatform::V1::IndexDatapoint::NumericRestriction::Operator]
  #     This MUST be specified for queries and must NOT be specified for
  #     datapoints.
  class NumericRestriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Which comparison operator to use.  Should be specified for queries only;
    # specifying this for a datapoint is an error.
    #
    # Datapoints for which Operator is true relative to the query's Value
    # field will be allowlisted.
    module Operator
      # Default value of the enum.
      OPERATOR_UNSPECIFIED = 0

      # Datapoints are eligible iff their value is < the query's.
      LESS = 1

      # Datapoints are eligible iff their value is <= the query's.
      LESS_EQUAL = 2

      # Datapoints are eligible iff their value is == the query's.
      EQUAL = 3

      # Datapoints are eligible iff their value is >= the query's.
      GREATER_EQUAL = 4

      # Datapoints are eligible iff their value is > the query's.
      GREATER = 5

      # Datapoints are eligible iff their value is != the query's.
      NOT_EQUAL = 6
    end
  end

  # Crowding tag is a constraint on a neighbor list produced by nearest
  # neighbor search requiring that no more than some value k' of the k
  # neighbors returned have the same value of crowding_attribute.
  # @!attribute [rw] crowding_attribute
  #   @return [::String]
  #     The attribute value used for crowding.  The maximum number of neighbors
  #     to return per crowding attribute value
  #     (per_crowding_attribute_num_neighbors) is configured per-query. This
  #     field is ignored if per_crowding_attribute_num_neighbors is larger than
  #     the total number of neighbors to return for a given query.
  class CrowdingTag
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#feature_vector::Array<::Float>

Returns Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions].

Returns:

  • (::Array<::Float>)

    Required. Feature embedding vector for dense index. An array of numbers with the length of [NearestNeighborSearchConfig.dimensions].



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'proto_docs/google/cloud/aiplatform/v1/index.rb', line 155

class IndexDatapoint
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Feature embedding vector for sparse index. An array of numbers whose values
  # are located in the specified dimensions.
  # @!attribute [rw] values
  #   @return [::Array<::Float>]
  #     Required. The list of embedding values of the sparse vector.
  # @!attribute [rw] dimensions
  #   @return [::Array<::Integer>]
  #     Required. The list of indexes for the embedding values of the sparse
  #     vector.
  class SparseEmbedding
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Restriction of a datapoint which describe its attributes(tokens) from each
  # of several attribute categories(namespaces).
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: color.
  # @!attribute [rw] allow_list
  #   @return [::Array<::String>]
  #     The attributes to allow in this namespace. e.g.: 'red'
  # @!attribute [rw] deny_list
  #   @return [::Array<::String>]
  #     The attributes to deny in this namespace. e.g.: 'blue'
  class Restriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # This field allows restricts to be based on numeric comparisons rather
  # than categorical tokens.
  # @!attribute [rw] value_int
  #   @return [::Integer]
  #     Represents 64 bit integer.
  # @!attribute [rw] value_float
  #   @return [::Float]
  #     Represents 32 bit float.
  # @!attribute [rw] value_double
  #   @return [::Float]
  #     Represents 64 bit float.
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: cost.
  # @!attribute [rw] op
  #   @return [::Google::Cloud::AIPlatform::V1::IndexDatapoint::NumericRestriction::Operator]
  #     This MUST be specified for queries and must NOT be specified for
  #     datapoints.
  class NumericRestriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Which comparison operator to use.  Should be specified for queries only;
    # specifying this for a datapoint is an error.
    #
    # Datapoints for which Operator is true relative to the query's Value
    # field will be allowlisted.
    module Operator
      # Default value of the enum.
      OPERATOR_UNSPECIFIED = 0

      # Datapoints are eligible iff their value is < the query's.
      LESS = 1

      # Datapoints are eligible iff their value is <= the query's.
      LESS_EQUAL = 2

      # Datapoints are eligible iff their value is == the query's.
      EQUAL = 3

      # Datapoints are eligible iff their value is >= the query's.
      GREATER_EQUAL = 4

      # Datapoints are eligible iff their value is > the query's.
      GREATER = 5

      # Datapoints are eligible iff their value is != the query's.
      NOT_EQUAL = 6
    end
  end

  # Crowding tag is a constraint on a neighbor list produced by nearest
  # neighbor search requiring that no more than some value k' of the k
  # neighbors returned have the same value of crowding_attribute.
  # @!attribute [rw] crowding_attribute
  #   @return [::String]
  #     The attribute value used for crowding.  The maximum number of neighbors
  #     to return per crowding attribute value
  #     (per_crowding_attribute_num_neighbors) is configured per-query. This
  #     field is ignored if per_crowding_attribute_num_neighbors is larger than
  #     the total number of neighbors to return for a given query.
  class CrowdingTag
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#numeric_restricts::Array<::Google::Cloud::AIPlatform::V1::IndexDatapoint::NumericRestriction>

Returns Optional. List of Restrict of the datapoint, used to perform "restricted searches" where boolean rule are used to filter the subset of the database eligible for matching. This uses numeric comparisons.

Returns:



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'proto_docs/google/cloud/aiplatform/v1/index.rb', line 155

class IndexDatapoint
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Feature embedding vector for sparse index. An array of numbers whose values
  # are located in the specified dimensions.
  # @!attribute [rw] values
  #   @return [::Array<::Float>]
  #     Required. The list of embedding values of the sparse vector.
  # @!attribute [rw] dimensions
  #   @return [::Array<::Integer>]
  #     Required. The list of indexes for the embedding values of the sparse
  #     vector.
  class SparseEmbedding
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Restriction of a datapoint which describe its attributes(tokens) from each
  # of several attribute categories(namespaces).
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: color.
  # @!attribute [rw] allow_list
  #   @return [::Array<::String>]
  #     The attributes to allow in this namespace. e.g.: 'red'
  # @!attribute [rw] deny_list
  #   @return [::Array<::String>]
  #     The attributes to deny in this namespace. e.g.: 'blue'
  class Restriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # This field allows restricts to be based on numeric comparisons rather
  # than categorical tokens.
  # @!attribute [rw] value_int
  #   @return [::Integer]
  #     Represents 64 bit integer.
  # @!attribute [rw] value_float
  #   @return [::Float]
  #     Represents 32 bit float.
  # @!attribute [rw] value_double
  #   @return [::Float]
  #     Represents 64 bit float.
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: cost.
  # @!attribute [rw] op
  #   @return [::Google::Cloud::AIPlatform::V1::IndexDatapoint::NumericRestriction::Operator]
  #     This MUST be specified for queries and must NOT be specified for
  #     datapoints.
  class NumericRestriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Which comparison operator to use.  Should be specified for queries only;
    # specifying this for a datapoint is an error.
    #
    # Datapoints for which Operator is true relative to the query's Value
    # field will be allowlisted.
    module Operator
      # Default value of the enum.
      OPERATOR_UNSPECIFIED = 0

      # Datapoints are eligible iff their value is < the query's.
      LESS = 1

      # Datapoints are eligible iff their value is <= the query's.
      LESS_EQUAL = 2

      # Datapoints are eligible iff their value is == the query's.
      EQUAL = 3

      # Datapoints are eligible iff their value is >= the query's.
      GREATER_EQUAL = 4

      # Datapoints are eligible iff their value is > the query's.
      GREATER = 5

      # Datapoints are eligible iff their value is != the query's.
      NOT_EQUAL = 6
    end
  end

  # Crowding tag is a constraint on a neighbor list produced by nearest
  # neighbor search requiring that no more than some value k' of the k
  # neighbors returned have the same value of crowding_attribute.
  # @!attribute [rw] crowding_attribute
  #   @return [::String]
  #     The attribute value used for crowding.  The maximum number of neighbors
  #     to return per crowding attribute value
  #     (per_crowding_attribute_num_neighbors) is configured per-query. This
  #     field is ignored if per_crowding_attribute_num_neighbors is larger than
  #     the total number of neighbors to return for a given query.
  class CrowdingTag
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#restricts::Array<::Google::Cloud::AIPlatform::V1::IndexDatapoint::Restriction>

Returns Optional. List of Restrict of the datapoint, used to perform "restricted searches" where boolean rule are used to filter the subset of the database eligible for matching. This uses categorical tokens. See: https://cloud.google.com/vertex-ai/docs/matching-engine/filtering.

Returns:



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'proto_docs/google/cloud/aiplatform/v1/index.rb', line 155

class IndexDatapoint
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Feature embedding vector for sparse index. An array of numbers whose values
  # are located in the specified dimensions.
  # @!attribute [rw] values
  #   @return [::Array<::Float>]
  #     Required. The list of embedding values of the sparse vector.
  # @!attribute [rw] dimensions
  #   @return [::Array<::Integer>]
  #     Required. The list of indexes for the embedding values of the sparse
  #     vector.
  class SparseEmbedding
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Restriction of a datapoint which describe its attributes(tokens) from each
  # of several attribute categories(namespaces).
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: color.
  # @!attribute [rw] allow_list
  #   @return [::Array<::String>]
  #     The attributes to allow in this namespace. e.g.: 'red'
  # @!attribute [rw] deny_list
  #   @return [::Array<::String>]
  #     The attributes to deny in this namespace. e.g.: 'blue'
  class Restriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # This field allows restricts to be based on numeric comparisons rather
  # than categorical tokens.
  # @!attribute [rw] value_int
  #   @return [::Integer]
  #     Represents 64 bit integer.
  # @!attribute [rw] value_float
  #   @return [::Float]
  #     Represents 32 bit float.
  # @!attribute [rw] value_double
  #   @return [::Float]
  #     Represents 64 bit float.
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: cost.
  # @!attribute [rw] op
  #   @return [::Google::Cloud::AIPlatform::V1::IndexDatapoint::NumericRestriction::Operator]
  #     This MUST be specified for queries and must NOT be specified for
  #     datapoints.
  class NumericRestriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Which comparison operator to use.  Should be specified for queries only;
    # specifying this for a datapoint is an error.
    #
    # Datapoints for which Operator is true relative to the query's Value
    # field will be allowlisted.
    module Operator
      # Default value of the enum.
      OPERATOR_UNSPECIFIED = 0

      # Datapoints are eligible iff their value is < the query's.
      LESS = 1

      # Datapoints are eligible iff their value is <= the query's.
      LESS_EQUAL = 2

      # Datapoints are eligible iff their value is == the query's.
      EQUAL = 3

      # Datapoints are eligible iff their value is >= the query's.
      GREATER_EQUAL = 4

      # Datapoints are eligible iff their value is > the query's.
      GREATER = 5

      # Datapoints are eligible iff their value is != the query's.
      NOT_EQUAL = 6
    end
  end

  # Crowding tag is a constraint on a neighbor list produced by nearest
  # neighbor search requiring that no more than some value k' of the k
  # neighbors returned have the same value of crowding_attribute.
  # @!attribute [rw] crowding_attribute
  #   @return [::String]
  #     The attribute value used for crowding.  The maximum number of neighbors
  #     to return per crowding attribute value
  #     (per_crowding_attribute_num_neighbors) is configured per-query. This
  #     field is ignored if per_crowding_attribute_num_neighbors is larger than
  #     the total number of neighbors to return for a given query.
  class CrowdingTag
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#sparse_embedding::Google::Cloud::AIPlatform::V1::IndexDatapoint::SparseEmbedding

Returns Optional. Feature embedding vector for sparse index.

Returns:



155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'proto_docs/google/cloud/aiplatform/v1/index.rb', line 155

class IndexDatapoint
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Feature embedding vector for sparse index. An array of numbers whose values
  # are located in the specified dimensions.
  # @!attribute [rw] values
  #   @return [::Array<::Float>]
  #     Required. The list of embedding values of the sparse vector.
  # @!attribute [rw] dimensions
  #   @return [::Array<::Integer>]
  #     Required. The list of indexes for the embedding values of the sparse
  #     vector.
  class SparseEmbedding
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Restriction of a datapoint which describe its attributes(tokens) from each
  # of several attribute categories(namespaces).
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: color.
  # @!attribute [rw] allow_list
  #   @return [::Array<::String>]
  #     The attributes to allow in this namespace. e.g.: 'red'
  # @!attribute [rw] deny_list
  #   @return [::Array<::String>]
  #     The attributes to deny in this namespace. e.g.: 'blue'
  class Restriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # This field allows restricts to be based on numeric comparisons rather
  # than categorical tokens.
  # @!attribute [rw] value_int
  #   @return [::Integer]
  #     Represents 64 bit integer.
  # @!attribute [rw] value_float
  #   @return [::Float]
  #     Represents 32 bit float.
  # @!attribute [rw] value_double
  #   @return [::Float]
  #     Represents 64 bit float.
  # @!attribute [rw] namespace
  #   @return [::String]
  #     The namespace of this restriction. e.g.: cost.
  # @!attribute [rw] op
  #   @return [::Google::Cloud::AIPlatform::V1::IndexDatapoint::NumericRestriction::Operator]
  #     This MUST be specified for queries and must NOT be specified for
  #     datapoints.
  class NumericRestriction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Which comparison operator to use.  Should be specified for queries only;
    # specifying this for a datapoint is an error.
    #
    # Datapoints for which Operator is true relative to the query's Value
    # field will be allowlisted.
    module Operator
      # Default value of the enum.
      OPERATOR_UNSPECIFIED = 0

      # Datapoints are eligible iff their value is < the query's.
      LESS = 1

      # Datapoints are eligible iff their value is <= the query's.
      LESS_EQUAL = 2

      # Datapoints are eligible iff their value is == the query's.
      EQUAL = 3

      # Datapoints are eligible iff their value is >= the query's.
      GREATER_EQUAL = 4

      # Datapoints are eligible iff their value is > the query's.
      GREATER = 5

      # Datapoints are eligible iff their value is != the query's.
      NOT_EQUAL = 6
    end
  end

  # Crowding tag is a constraint on a neighbor list produced by nearest
  # neighbor search requiring that no more than some value k' of the k
  # neighbors returned have the same value of crowding_attribute.
  # @!attribute [rw] crowding_attribute
  #   @return [::String]
  #     The attribute value used for crowding.  The maximum number of neighbors
  #     to return per crowding attribute value
  #     (per_crowding_attribute_num_neighbors) is configured per-query. This
  #     field is ignored if per_crowding_attribute_num_neighbors is larger than
  #     the total number of neighbors to return for a given query.
  class CrowdingTag
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end