Commit 4d5c210ccac857a5d0f06ffba1781d524b4b46eb

Authored by Andrew Kane
1 parent 9979e2fb

Added scroll optimization when iterating over all documents

Showing 1 changed file with 6 additions and 0 deletions   Show diff stats
lib/searchkick/query.rb
@@ -519,6 +519,12 @@ module Searchkick @@ -519,6 +519,12 @@ module Searchkick
519 # run block 519 # run block
520 options[:block].call(payload) if options[:block] 520 options[:block].call(payload) if options[:block]
521 521
  522 + # scroll optimization when interating over all docs
  523 + # https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
  524 + if options[:scroll] && payload[:query] == {match_all: {}}
  525 + payload[:sort] ||= ["_doc"]
  526 + end
  527 +
522 @body = payload 528 @body = payload
523 @page = page 529 @page = page
524 @per_page = per_page 530 @per_page = per_page