in config.go [165:208]
func DefaultConfig(cl elastictransport.Interface, cfg Config) Config {
if cfg.MaxRequests <= 0 {
cfg.MaxRequests = 10
}
if cfg.FlushBytes <= 0 {
cfg.FlushBytes = 1 * 1024 * 1024
}
if cfg.FlushInterval <= 0 {
cfg.FlushInterval = 30 * time.Second
}
if cfg.DocumentBufferSize <= 0 {
cfg.DocumentBufferSize = 1024
}
if !cfg.Scaling.Disabled {
if cfg.Scaling.ScaleDown.Threshold == 0 {
cfg.Scaling.ScaleDown.Threshold = 30
}
if cfg.Scaling.ScaleDown.CoolDown <= 0 {
cfg.Scaling.ScaleDown.CoolDown = 30 * time.Second
}
if cfg.Scaling.ScaleUp.Threshold == 0 {
cfg.Scaling.ScaleUp.Threshold = 60
}
if cfg.Scaling.ScaleUp.CoolDown <= 0 {
cfg.Scaling.ScaleUp.CoolDown = time.Minute
}
if cfg.Scaling.IdleInterval <= 0 {
cfg.Scaling.IdleInterval = 30 * time.Second
}
if cfg.Scaling.ActiveRatio <= 0 {
cfg.Scaling.ActiveRatio = 0.25
}
}
if cfg.Logger == nil {
cfg.Logger = zap.NewNop()
}
if cfg.BulkIndexerPool == nil {
cfg.BulkIndexerPool = NewBulkIndexerPool(
cfg.MaxRequests, cfg.MaxRequests, cfg.MaxRequests,
BulkIndexerConfigFrom(cl, cfg),
)
}
return cfg
}