func (s *ScrollService) Retrier(retrier Retrier) *ScrollService {
	s.retrier = retrier
	return s
}
Retrier allows to set specific retry logic for this ScrollService.
If not specified, it will use the client's default retrier.
package elastic
import (
	"context"
	"fmt"
	"io"
	"net/url"
	"strings"
	"sync"
	"github.com/olivere/elastic/uritemplates"
)
const (
	DefaultScrollKeepAlive = "5m"
)
type ScrollService struct {
	client            *Client
	retrier           Retrier
	indices           []string
	types             []string
	keepAlive         string
	body              interface{}
	ss                *SearchSource
	size              *int
	pretty            bool
	routing           string
	preference        string
	ignoreUnavailable *bool
	allowNoIndices    *bool
	expandWildcards   string
	mu       sync.RWMutex
	scrollId string
}
func NewScrollService(client *Client) *ScrollService {
	builder := &ScrollService{
		client:    client,
		ss:        NewSearchSource(),
		keepAlive: DefaultScrollKeepAlive,
	}
	return builder
}