Documentation
¶
Overview ¶
Search rolled-up data. The rollup search endpoint is needed because, internally, rolled-up documents utilize a different document structure than the original data. It rewrites standard Query DSL into a format that matches the rollup documents then takes the response and rewrites it back to what a client would expect given the original query.
The request body supports a subset of features from the regular search API. The following functionality is not available:
`size`: Because rollups work on pre-aggregated data, no search hits can be returned and so size must be set to zero or omitted entirely. `highlighter`, `suggestors`, `post_filter`, `profile`, `explain`: These are similarly disallowed.
For more detailed examples of using the rollup search API, including querying rolled-up data only or combining rolled-up and live data, refer to the External documentation.
Index ¶
- Variables
- type NewRollupSearch
- type Request
- type Response
- type RollupSearch
- func (r *RollupSearch) AddAggregation(key string, value types.AggregationsVariant) *RollupSearch
- func (r *RollupSearch) Aggregations(aggregations map[string]types.Aggregations) *RollupSearch
- func (r RollupSearch) Do(providedCtx context.Context) (*Response, error)
- func (r *RollupSearch) ErrorTrace(errortrace bool) *RollupSearch
- func (r *RollupSearch) FilterPath(filterpaths ...string) *RollupSearch
- func (r *RollupSearch) Header(key, value string) *RollupSearch
- func (r *RollupSearch) HttpRequest(ctx context.Context) (*http.Request, error)
- func (r *RollupSearch) Human(human bool) *RollupSearch
- func (r RollupSearch) Perform(providedCtx context.Context) (*http.Response, error)
- func (r *RollupSearch) Pretty(pretty bool) *RollupSearch
- func (r *RollupSearch) Query(query types.QueryVariant) *RollupSearch
- func (r *RollupSearch) Raw(raw io.Reader) *RollupSearch
- func (r *RollupSearch) Request(req *Request) *RollupSearch
- func (r *RollupSearch) RestTotalHitsAsInt(resttotalhitsasint bool) *RollupSearch
- func (r *RollupSearch) Size(size int) *RollupSearch
- func (r *RollupSearch) TypedKeys(typedkeys bool) *RollupSearch
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 NewRollupSearch ¶
type NewRollupSearch func(index string) *RollupSearch
NewRollupSearch type alias for index.
func NewRollupSearchFunc ¶
func NewRollupSearchFunc(tp elastictransport.Interface) NewRollupSearch
NewRollupSearchFunc returns a new instance of RollupSearch with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.
type Request ¶
type Request struct { // Aggregations Specifies aggregations. Aggregations map[string]types.Aggregations `json:"aggregations,omitempty"` // Query Specifies a DSL query that is subject to some limitations. Query *types.Query `json:"query,omitempty"` // Size Must be zero if set, as rollups work on pre-aggregated data. Size *int `json:"size,omitempty"` }
Request holds the request body struct for the package rollupsearch
func (*Request) UnmarshalJSON ¶
type Response ¶
type Response struct { Aggregations map[string]types.Aggregate `json:"aggregations,omitempty"` Hits types.HitsMetadata `json:"hits"` Shards_ types.ShardStatistics `json:"_shards"` TerminatedEarly *bool `json:"terminated_early,omitempty"` TimedOut bool `json:"timed_out"` Took int64 `json:"took"` }
Response holds the response body struct for the package rollupsearch
func (*Response) UnmarshalJSON ¶
type RollupSearch ¶
type RollupSearch struct {
// contains filtered or unexported fields
}
func New ¶
func New(tp elastictransport.Interface) *RollupSearch
Search rolled-up data. The rollup search endpoint is needed because, internally, rolled-up documents utilize a different document structure than the original data. It rewrites standard Query DSL into a format that matches the rollup documents then takes the response and rewrites it back to what a client would expect given the original query.
The request body supports a subset of features from the regular search API. The following functionality is not available:
`size`: Because rollups work on pre-aggregated data, no search hits can be returned and so size must be set to zero or omitted entirely. `highlighter`, `suggestors`, `post_filter`, `profile`, `explain`: These are similarly disallowed.
For more detailed examples of using the rollup search API, including querying rolled-up data only or combining rolled-up and live data, refer to the External documentation.
https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-rollup-rollup-search
func (*RollupSearch) AddAggregation ¶
func (r *RollupSearch) AddAggregation(key string, value types.AggregationsVariant) *RollupSearch
func (*RollupSearch) Aggregations ¶
func (r *RollupSearch) Aggregations(aggregations map[string]types.Aggregations) *RollupSearch
Specifies aggregations. API name: aggregations
func (RollupSearch) Do ¶
func (r RollupSearch) Do(providedCtx context.Context) (*Response, error)
Do runs the request through the transport, handle the response and returns a rollupsearch.Response
func (*RollupSearch) ErrorTrace ¶
func (r *RollupSearch) ErrorTrace(errortrace bool) *RollupSearch
ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace
func (*RollupSearch) FilterPath ¶
func (r *RollupSearch) FilterPath(filterpaths ...string) *RollupSearch
FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path
func (*RollupSearch) Header ¶
func (r *RollupSearch) Header(key, value string) *RollupSearch
Header set a key, value pair in the RollupSearch headers map.
func (*RollupSearch) HttpRequest ¶
HttpRequest returns the http.Request object built from the given parameters.
func (*RollupSearch) Human ¶
func (r *RollupSearch) Human(human bool) *RollupSearch
Human When set to `true` will return statistics in a format suitable for humans. For example `"exists_time": "1h"` for humans and `"exists_time_in_millis": 3600000` for computers. When disabled the human readable values will be omitted. This makes sense for responses being consumed only by machines. API name: human
func (RollupSearch) Perform ¶
Perform runs the http.Request through the provided transport and returns an http.Response.
func (*RollupSearch) Pretty ¶
func (r *RollupSearch) Pretty(pretty bool) *RollupSearch
Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty
func (*RollupSearch) Query ¶
func (r *RollupSearch) Query(query types.QueryVariant) *RollupSearch
Specifies a DSL query that is subject to some limitations. API name: query
func (*RollupSearch) Raw ¶
func (r *RollupSearch) Raw(raw io.Reader) *RollupSearch
Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.
func (*RollupSearch) Request ¶
func (r *RollupSearch) Request(req *Request) *RollupSearch
Request allows to set the request property with the appropriate payload.
func (*RollupSearch) RestTotalHitsAsInt ¶
func (r *RollupSearch) RestTotalHitsAsInt(resttotalhitsasint bool) *RollupSearch
RestTotalHitsAsInt Indicates whether hits.total should be rendered as an integer or an object in the rest search response API name: rest_total_hits_as_int
func (*RollupSearch) Size ¶
func (r *RollupSearch) Size(size int) *RollupSearch
Must be zero if set, as rollups work on pre-aggregated data. API name: size
func (*RollupSearch) TypedKeys ¶
func (r *RollupSearch) TypedKeys(typedkeys bool) *RollupSearch
TypedKeys Specify whether aggregation and suggester names should be prefixed by their respective types in the response API name: typed_keys