We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 42e4bd8 commit 8e09476Copy full SHA for 8e09476
lib/searchkick/query.rb
@@ -909,10 +909,15 @@ def where_without_field(where, field)
909
result = {}
910
where.each do |f, v|
911
case f
912
- when :_and, :_or
913
- result[f] = v.map { |v2| where_without_field(v2, field) }
+ when :_and
+ r = v.map { |v2| where_without_field(v2, field) }.reject(&:empty?)
914
+ result[f] = r unless r.empty?
915
+ when :_or
916
+ r = v.map { |v2| where_without_field(v2, field) }
917
+ result[f] = r unless r.any?(&:empty?)
918
when :_not
- result[f] = where_without_field(v, field)
919
+ r = where_without_field(v, field)
920
921
when :_script
922
result[f] = v
923
else
0 commit comments