def enumerate_rows(opts = {})
      Enumerator.new do |yielder|
        loop do
          opts = query_opts(opts)
          response = Krikri::SolrResponseBuilder.new(opts).response
          break if response.docs.empty?

          parse_solr_response(response).each do |row|
            yielder <<  headers.map { |header| row[header] }
          end

          opts[:start] += opts[:rows]
          break if opts[:start] >= response.total
        end
      end
    end
def enumerate_rows(opts = {})
      Enumerator.new do |yielder|
        loop do
          opts = query_opts(opts)
          response = Krikri::SolrResponseBuilder.new(opts).response
          break if response.docs.empty?

          parse_solr_response(response).each do |row|
            yielder <<  headers.map { |header| row[header] }
          end

          opts[:start] += opts[:rows]
          break if opts[:start] >= response.total
        end
      end
    end
@param opts [Hash] optional parameters for the solr request
   @example: enumerate_rows(batch_size: 1000)

 @return Enumerator[<Array>] an enumerator over the rows