func (s *ValidateService) Explain(explain *bool) *ValidateService {
	s.explain = explain
	return s
}
An explain parameter can be specified to get more detailed information about why a query failed.
package elastic
import (
	"context"
	"fmt"
	"net/url"
	"strings"
	"github.com/olivere/elastic/uritemplates"
)
type ValidateService struct {
	client            *Client
	pretty            bool
	index             []string
	typ               []string
	q                 string
	explain           *bool
	rewrite           *bool
	allShards         *bool
	lenient           *bool
	analyzer          string
	df                string
	analyzeWildcard   *bool
	defaultOperator   string
	ignoreUnavailable *bool
	allowNoIndices    *bool
	expandWildcards   string
	bodyJson          interface{}
	bodyString        string
}
func NewValidateService(client *Client) *ValidateService {
	return &ValidateService{
		client: client,
	}
}
func (s *ValidateService) Index(index ...string) *ValidateService {
	s.index = append(s.index, index...)
	return s
}
func (s *ValidateService) Type(typ ...string) *ValidateService {
	s.typ = append(s.typ, typ...)
	return s
}
func (s *ValidateService) Lenient(lenient bool) *ValidateService {
	s.lenient = &lenient
	return s
}
func (s *ValidateService) Q(q string) *ValidateService {
	s.q = q
	return s
}