diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb index 0aca7a2..41afb08 100644 --- a/lib/searchkick/query.rb +++ b/lib/searchkick/query.rb @@ -519,6 +519,12 @@ module Searchkick # run block options[:block].call(payload) if options[:block] + # scroll optimization when interating over all docs + # https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html + if options[:scroll] && payload[:query] == {match_all: {}} + payload[:sort] ||= ["_doc"] + end + @body = payload @page = page @per_page = per_page -- libgit2 0.21.0