Class: Google::Apis::FirestoreV1::FindNearest

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/firestore_v1/classes.rb,
lib/google/apis/firestore_v1/representations.rb,
lib/google/apis/firestore_v1/representations.rb

Overview

Nearest Neighbors search config. The ordering provided by FindNearest supersedes the order_by stage. If multiple documents have the same vector distance, the returned document order is not guaranteed to be stable between queries.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ FindNearest

Returns a new instance of FindNearest.



1144
1145
1146
# File 'lib/google/apis/firestore_v1/classes.rb', line 1144

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#distance_measureString

Required. The distance measure to use, required. Corresponds to the JSON property distanceMeasure

Returns:

  • (String)


1110
1111
1112
# File 'lib/google/apis/firestore_v1/classes.rb', line 1110

def distance_measure
  @distance_measure
end

#distance_result_fieldString

Optional. Optional name of the field to output the result of the vector distance calculation. Must conform to document field name limitations. Corresponds to the JSON property distanceResultField

Returns:

  • (String)


1116
1117
1118
# File 'lib/google/apis/firestore_v1/classes.rb', line 1116

def distance_result_field
  @distance_result_field
end

#distance_thresholdFloat

Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified distance_measure will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold For DOT_PRODUCT: WHERE distance >= distance_threshold Corresponds to the JSON property distanceThreshold

Returns:

  • (Float)


1126
1127
1128
# File 'lib/google/apis/firestore_v1/classes.rb', line 1126

def distance_threshold
  @distance_threshold
end

#limitFixnum

Required. The number of nearest neighbors to return. Must be a positive integer of no more than 1000. Corresponds to the JSON property limit

Returns:

  • (Fixnum)


1132
1133
1134
# File 'lib/google/apis/firestore_v1/classes.rb', line 1132

def limit
  @limit
end

#query_vectorGoogle::Apis::FirestoreV1::Value

A message that can hold any of the supported value types. Corresponds to the JSON property queryVector



1137
1138
1139
# File 'lib/google/apis/firestore_v1/classes.rb', line 1137

def query_vector
  @query_vector
end

#vector_fieldGoogle::Apis::FirestoreV1::FieldReference

A reference to a field in a document, ex: stats.operations. Corresponds to the JSON property vectorField



1142
1143
1144
# File 'lib/google/apis/firestore_v1/classes.rb', line 1142

def vector_field
  @vector_field
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1149
1150
1151
1152
1153
1154
1155
1156
# File 'lib/google/apis/firestore_v1/classes.rb', line 1149

def update!(**args)
  @distance_measure = args[:distance_measure] if args.key?(:distance_measure)
  @distance_result_field = args[:distance_result_field] if args.key?(:distance_result_field)
  @distance_threshold = args[:distance_threshold] if args.key?(:distance_threshold)
  @limit = args[:limit] if args.key?(:limit)
  @query_vector = args[:query_vector] if args.key?(:query_vector)
  @vector_field = args[:vector_field] if args.key?(:vector_field)
end