Documentation ¶
Overview ¶
Creates a rollup job.
Index ¶
- Variables
- type NewPutJob
- type PutJob
- func (r *PutJob) Cron(cron string) *PutJob
- func (r PutJob) Do(ctx context.Context) (*Response, error)
- func (r *PutJob) Groups(groups *types.Groupings) *PutJob
- func (r *PutJob) Header(key, value string) *PutJob
- func (r *PutJob) Headers(httpheaders types.HttpHeaders) *PutJob
- func (r *PutJob) HttpRequest(ctx context.Context) (*http.Request, error)
- func (r *PutJob) Id(id string) *PutJob
- func (r *PutJob) IndexPattern(indexpattern string) *PutJob
- func (r *PutJob) Metrics(metrics ...types.FieldMetric) *PutJob
- func (r *PutJob) PageSize(pagesize int) *PutJob
- func (r PutJob) Perform(ctx context.Context) (*http.Response, error)
- func (r *PutJob) Raw(raw io.Reader) *PutJob
- func (r *PutJob) Request(req *Request) *PutJob
- func (r *PutJob) RollupIndex(indexname string) *PutJob
- func (r *PutJob) Timeout(duration types.Duration) *PutJob
- type Request
- type Response
Constants ¶
This section is empty.
Variables ¶
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")
ErrBuildPath is returned in case of missing parameters within the build of the request.
Functions ¶
This section is empty.
Types ¶
type NewPutJob ¶
NewPutJob type alias for index.
func NewPutJobFunc ¶
func NewPutJobFunc(tp elastictransport.Interface) NewPutJob
NewPutJobFunc returns a new instance of PutJob with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.
type PutJob ¶
type PutJob struct {
// contains filtered or unexported fields
}
func New ¶
func New(tp elastictransport.Interface) *PutJob
Creates a rollup job.
https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-put-job.html
func (*PutJob) Cron ¶ added in v8.9.0
Cron A cron string which defines the intervals when the rollup job should be executed. When the interval triggers, the indexer attempts to rollup the data in the index pattern. The cron pattern is unrelated to the time interval of the data being rolled up. For example, you may wish to create hourly rollups of your document but to only run the indexer on a daily basis at midnight, as defined by the cron. The cron pattern is defined just like a Watcher cron schedule. API name: cron
func (PutJob) Do ¶
Do runs the request through the transport, handle the response and returns a putjob.Response
func (*PutJob) Groups ¶ added in v8.9.0
Groups Defines the grouping fields and aggregations that are defined for this rollup job. These fields will then be available later for aggregating into buckets. These aggs and fields can be used in any combination. Think of the groups configuration as defining a set of tools that can later be used in aggregations to partition the data. Unlike raw data, we have to think ahead to which fields and aggregations might be used. Rollups provide enough flexibility that you simply need to determine which fields are needed, not in what order they are needed. API name: groups
func (*PutJob) Headers ¶ added in v8.9.0
func (r *PutJob) Headers(httpheaders types.HttpHeaders) *PutJob
API name: headers
func (*PutJob) HttpRequest ¶
HttpRequest returns the http.Request object built from the given parameters.
func (*PutJob) Id ¶
Id Identifier for the rollup job. This can be any alphanumeric string and uniquely identifies the data that is associated with the rollup job. The ID is persistent; it is stored with the rolled up data. If you create a job, let it run for a while, then delete the job, the data that the job rolled up is still be associated with this job ID. You cannot create a new job with the same ID since that could lead to problems with mismatched job configurations. API Name: id
func (*PutJob) IndexPattern ¶ added in v8.9.0
IndexPattern The index or index pattern to roll up. Supports wildcard-style patterns (`logstash-*`). The job attempts to rollup the entire index or index-pattern. API name: index_pattern
func (*PutJob) Metrics ¶ added in v8.9.0
func (r *PutJob) Metrics(metrics ...types.FieldMetric) *PutJob
Metrics Defines the metrics to collect for each grouping tuple. By default, only the doc_counts are collected for each group. To make rollup useful, you will often add metrics like averages, mins, maxes, etc. Metrics are defined on a per-field basis and for each field you configure which metric should be collected. API name: metrics
func (*PutJob) PageSize ¶ added in v8.9.0
PageSize The number of bucket results that are processed on each iteration of the rollup indexer. A larger value tends to execute faster, but requires more memory during processing. This value has no effect on how the data is rolled up; it is merely used for tweaking the speed or memory cost of the indexer. API name: page_size
func (PutJob) Perform ¶ added in v8.7.0
Perform runs the http.Request through the provided transport and returns an http.Response.
func (*PutJob) Raw ¶
Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.
func (*PutJob) RollupIndex ¶ added in v8.9.0
RollupIndex The index that contains the rollup results. The index can be shared with other rollup jobs. The data is stored so that it doesn’t interfere with unrelated jobs. API name: rollup_index
type Request ¶
type Request struct { // Cron A cron string which defines the intervals when the rollup job should be // executed. When the interval // triggers, the indexer attempts to rollup the data in the index pattern. The // cron pattern is unrelated // to the time interval of the data being rolled up. For example, you may wish // to create hourly rollups // of your document but to only run the indexer on a daily basis at midnight, as // defined by the cron. The // cron pattern is defined just like a Watcher cron schedule. Cron string `json:"cron"` // Groups Defines the grouping fields and aggregations that are defined for this rollup // job. These fields will then be // available later for aggregating into buckets. These aggs and fields can be // used in any combination. Think of // the groups configuration as defining a set of tools that can later be used in // aggregations to partition the // data. Unlike raw data, we have to think ahead to which fields and // aggregations might be used. Rollups provide // enough flexibility that you simply need to determine which fields are needed, // not in what order they are needed. Groups types.Groupings `json:"groups"` Headers types.HttpHeaders `json:"headers,omitempty"` // IndexPattern The index or index pattern to roll up. Supports wildcard-style patterns // (`logstash-*`). The job attempts to // rollup the entire index or index-pattern. IndexPattern string `json:"index_pattern"` // Metrics Defines the metrics to collect for each grouping tuple. By default, only the // doc_counts are collected for each // group. To make rollup useful, you will often add metrics like averages, mins, // maxes, etc. Metrics are defined // on a per-field basis and for each field you configure which metric should be // collected. Metrics []types.FieldMetric `json:"metrics,omitempty"` // PageSize The number of bucket results that are processed on each iteration of the // rollup indexer. A larger value tends // to execute faster, but requires more memory during processing. This value has // no effect on how the data is // rolled up; it is merely used for tweaking the speed or memory cost of the // indexer. PageSize int `json:"page_size"` // RollupIndex The index that contains the rollup results. The index can be shared with // other rollup jobs. The data is stored so that it doesn’t interfere with // unrelated jobs. RollupIndex string `json:"rollup_index"` // Timeout Time to wait for the request to complete. Timeout types.Duration `json:"timeout,omitempty"` }
Request holds the request body struct for the package putjob