@@ -1071,13 +1071,23 @@ class VectorQuery
10711071
10721072 # Constructs a +VectorQuery+ instance
10731073 #
1074- # @param [String] vector_field_name the document field that contains the vector.
1075- # @param [Array<Float>] vector_query the vector query to run.
1074+ # @overload initialize(vector_field_name, vector_query)
1075+ # @param [String] vector_field_name the document field that contains the vector.
1076+ # @param [Array<Float>] vector_query the vector query.
10761077 #
1077- # @yieldparam [MatchPhraseQuery] self
1078+ # @overload initialize(vector_field_name, base64_vector_query)
1079+ # @param [String] vector_field_name the document field that contains the vector.
1080+ # @param [String] base64_vector_query the vector query represented as a base64-encoded sequence of little-endian IEEE 754 floats.
1081+ #
1082+ # @yieldparam [VectorQuery] self
10781083 def initialize ( vector_field_name , vector_query )
10791084 @vector_field_name = vector_field_name
1080- @vector_query = vector_query
1085+
1086+ if vector_query . respond_to? ( :to_str )
1087+ @base64_vector_query = vector_query . to_str
1088+ else
1089+ @vector_query = vector_query
1090+ end
10811091
10821092 yield self if block_given?
10831093 end
@@ -1092,6 +1102,7 @@ def to_h
10921102 {
10931103 field : @vector_field_name ,
10941104 vector : @vector_query ,
1105+ vector_base64 : @base64_vector_query ,
10951106 k : num_candidates || 3 ,
10961107 boost : boost ,
10971108 } . compact
0 commit comments