func (b *UpdateService) DetectNoop(detectNoop bool) *UpdateService {
	b.detectNoop = &detectNoop
	return b
}
DetectNoop will instruct Elasticsearch to check if changes will occur
when updating via Doc. It there aren't any changes, the request will
turn into a no-op.
package elastic
import (
	"fmt"
	"net/url"
	"strings"
	"gopkg.in/olivere/elastic.v3/uritemplates"
)
type UpdateService struct {
	client           *Client
	index            string
	typ              string
	id               string
	routing          string
	parent           string
	script           *Script
	fields           []string
	version          *int64
	versionType      string
	retryOnConflict  *int
	refresh          *bool
	replicationType  string
	consistencyLevel string
	upsert           interface{}
	scriptedUpsert   *bool
	docAsUpsert      *bool
	detectNoop       *bool
	doc              interface{}
	timeout          string
	pretty           bool
}
func NewUpdateService(client *Client) *UpdateService {
	builder := &UpdateService{
		client: client,
		fields: make([]string, 0),
	}
	return builder
}
func (b *UpdateService) Index(name string) *UpdateService {
	b.index = name
	return b
}
func (b *UpdateService) Type(typ string) *UpdateService {
	b.typ = typ
	return b
}
func (b *UpdateService) Id(id string) *UpdateService {
	b.id = id
	return b
}
func (b *UpdateService) Routing(routing string) *UpdateService {
	b.routing = routing
	return b
}
func (b *UpdateService) Parent(parent string) *UpdateService {
	b.parent = parent
	return b
}
func (b *UpdateService) Script(script *Script) *UpdateService {
	b.script = script
	return b
}
func (b *UpdateService) RetryOnConflict(retryOnConflict int) *UpdateService {
	b.retryOnConflict = &retryOnConflict
	return b
}
func (b *UpdateService) Fields(fields ...string) *UpdateService {
	b.fields = make([]string, 0, len(fields))
	b.fields = append(b.fields, fields...)
	return b
}
func (b *UpdateService) Version(version int64) *UpdateService {
	b.version = &version
	return b
}
func (b *UpdateService) VersionType(versionType string) *UpdateService {
	b.versionType = versionType
	return b
}
func (b *UpdateService) Refresh(refresh bool) *UpdateService {
	b.refresh = &refresh
	return b
}
func (b *UpdateService) ReplicationType(replicationType string) *UpdateService {
	b.replicationType = replicationType
	return b
}
func (b *UpdateService) ConsistencyLevel(consistencyLevel string) *UpdateService {
	b.consistencyLevel = consistencyLevel
	return b
}
func (b *UpdateService) Doc(doc interface{}) *UpdateService {
	b.doc = doc
	return b
}
func (b *UpdateService) Upsert(doc interface{}) *UpdateService {
	b.upsert = doc
	return b
}
func (b *UpdateService) DocAsUpsert(docAsUpsert bool) *UpdateService {
	b.docAsUpsert = &docAsUpsert
	return b
}