File tree Expand file tree Collapse file tree 2 files changed +29
-1
lines changed Expand file tree Collapse file tree 2 files changed +29
-1
lines changed Original file line number Diff line number Diff line change @@ -1099,13 +1099,23 @@ def to_h
1099
1099
"Number of candidates must be at least 1, #{ num_candidates } given"
1100
1100
end
1101
1101
1102
- {
1102
+ h = {
1103
1103
field : @vector_field_name ,
1104
1104
vector : @vector_query ,
1105
1105
vector_base64 : @base64_vector_query ,
1106
1106
k : num_candidates || 3 ,
1107
1107
boost : boost ,
1108
1108
} . compact
1109
+
1110
+ raise Error ::InvalidArgument , "The vector cannot be nil" if !h . include? ( :vector ) && !h . include? ( :vector_base64 )
1111
+ raise Error ::InvalidArgument , "The vector query cannot be an empty array" if h . include? ( :vector ) && h [ :vector ] . empty?
1112
+
1113
+ if h . include? ( :vector_base64 ) && h [ :vector_base64 ] . empty?
1114
+ raise Error ::InvalidArgument ,
1115
+ "The base64-encoded vector query cannot be empty"
1116
+ end
1117
+
1118
+ h
1109
1119
end
1110
1120
1111
1121
# @api private
Original file line number Diff line number Diff line change @@ -220,6 +220,24 @@ def test_search_request_invalid_argument
220
220
end
221
221
end
222
222
223
+ def test_vector_query_empty
224
+ vector_query = VectorQuery . new ( "foo" , [ ] )
225
+
226
+ assert_raises ( Error ::InvalidArgument ) { vector_query . to_json }
227
+ end
228
+
229
+ def test_base64_vector_query_empty
230
+ vector_query = VectorQuery . new ( "foo" , "" )
231
+
232
+ assert_raises ( Error ::InvalidArgument ) { vector_query . to_json }
233
+ end
234
+
235
+ def test_vector_query_nil
236
+ vector_query = VectorQuery . new ( "foo" , nil )
237
+
238
+ assert_raises ( Error ::InvalidArgument ) { vector_query . to_json }
239
+ end
240
+
223
241
def test_vector_query_invalid_candidate_number
224
242
vector_query = VectorQuery . new ( "foo" , [ -1.1 , 1.2 ] ) do |q |
225
243
q . num_candidates = 0
You can’t perform that action at this time.
0 commit comments