Documentation
¶
Overview ¶
Get SQL search results. Run an SQL request.
Index ¶
- Variables
- type NewQuery
- type Query
- func (r *Query) AddParam(key string, value json.RawMessage) *Query
- func (r *Query) AllowPartialSearchResults(allowpartialsearchresults bool) *Query
- func (r *Query) Catalog(catalog string) *Query
- func (r *Query) Columnar(columnar bool) *Query
- func (r *Query) Cursor(cursor string) *Query
- func (r Query) Do(providedCtx context.Context) (*Response, error)
- func (r *Query) ErrorTrace(errortrace bool) *Query
- func (r *Query) FetchSize(fetchsize int) *Query
- func (r *Query) FieldMultiValueLeniency(fieldmultivalueleniency bool) *Query
- func (r *Query) Filter(filter types.QueryVariant) *Query
- func (r *Query) FilterPath(filterpaths ...string) *Query
- func (r *Query) Format(format sqlformat.SqlFormat) *Query
- func (r *Query) Header(key, value string) *Query
- func (r *Query) HttpRequest(ctx context.Context) (*http.Request, error)
- func (r *Query) Human(human bool) *Query
- func (r *Query) IndexUsingFrozen(indexusingfrozen bool) *Query
- func (r *Query) KeepAlive(duration types.DurationVariant) *Query
- func (r *Query) KeepOnCompletion(keeponcompletion bool) *Query
- func (r *Query) PageTimeout(duration types.DurationVariant) *Query
- func (r *Query) Params(params map[string]json.RawMessage) *Query
- func (r Query) Perform(providedCtx context.Context) (*http.Response, error)
- func (r *Query) Pretty(pretty bool) *Query
- func (r *Query) Query(query string) *Query
- func (r *Query) Raw(raw io.Reader) *Query
- func (r *Query) Request(req *Request) *Query
- func (r *Query) RequestTimeout(duration types.DurationVariant) *Query
- func (r *Query) RuntimeMappings(runtimefields types.RuntimeFieldsVariant) *Query
- func (r *Query) TimeZone(timezone string) *Query
- func (r *Query) WaitForCompletionTimeout(duration types.DurationVariant) *Query
- 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 NewQuery ¶
type NewQuery func() *Query
NewQuery type alias for index.
func NewQueryFunc ¶
func NewQueryFunc(tp elastictransport.Interface) NewQuery
NewQueryFunc returns a new instance of Query with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.
type Query ¶
type Query struct {
// contains filtered or unexported fields
}
func New ¶
func New(tp elastictransport.Interface) *Query
Get SQL search results. Run an SQL request.
https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-search-api.html
func (*Query) AddParam ¶ added in v8.18.0
func (r *Query) AddParam(key string, value json.RawMessage) *Query
func (*Query) AllowPartialSearchResults ¶ added in v8.18.0
If `true`, the response has partial results when there are shard request timeouts or shard failures. If `false`, the API returns an error with no partial results. API name: allow_partial_search_results
func (*Query) Catalog ¶ added in v8.9.0
The default catalog (cluster) for queries. If unspecified, the queries execute on the data in the local cluster only. API name: catalog
func (*Query) Columnar ¶ added in v8.9.0
If `true`, the results are in a columnar fashion: one row represents all the values of a certain column from the current page of results. The API supports this parameter only for CBOR, JSON, SMILE, and YAML responses. API name: columnar
func (*Query) Cursor ¶ added in v8.9.0
The cursor used to retrieve a set of paginated results. If you specify a cursor, the API only uses the `columnar` and `time_zone` request body parameters. It ignores other request body parameters. API name: cursor
func (Query) Do ¶
Do runs the request through the transport, handle the response and returns a query.Response
func (*Query) ErrorTrace ¶ added in v8.14.0
ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace
func (*Query) FetchSize ¶ added in v8.9.0
The maximum number of rows (or entries) to return in one response. API name: fetch_size
func (*Query) FieldMultiValueLeniency ¶ added in v8.9.0
If `false`, the API returns an exception when encountering multiple values for a field. If `true`, the API is lenient and returns the first value from the array with no guarantee of consistent results. API name: field_multi_value_leniency
func (*Query) Filter ¶ added in v8.9.0
func (r *Query) Filter(filter types.QueryVariant) *Query
The Elasticsearch query DSL for additional filtering. API name: filter
func (*Query) FilterPath ¶ added in v8.14.0
FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path
func (*Query) Format ¶
Format The format for the response. You can also specify a format using the `Accept` HTTP header. If you specify both this parameter and the `Accept` HTTP header, this parameter takes precedence. API name: format
func (*Query) HttpRequest ¶
HttpRequest returns the http.Request object built from the given parameters.
func (*Query) Human ¶ added in v8.14.0
Human When set to `true` will return statistics in a format suitable for humans. For example `"exists_time": "1h"` for humans and `"eixsts_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 (*Query) IndexUsingFrozen ¶ added in v8.9.0
If `true`, the search can run on frozen indices. API name: index_using_frozen
func (*Query) KeepAlive ¶ added in v8.9.0
func (r *Query) KeepAlive(duration types.DurationVariant) *Query
The retention period for an async or saved synchronous search. API name: keep_alive
func (*Query) KeepOnCompletion ¶ added in v8.9.0
If `true`, Elasticsearch stores synchronous searches if you also specify the `wait_for_completion_timeout` parameter. If `false`, Elasticsearch only stores async searches that don't finish before the `wait_for_completion_timeout`. API name: keep_on_completion
func (*Query) PageTimeout ¶ added in v8.9.0
func (r *Query) PageTimeout(duration types.DurationVariant) *Query
The minimum retention period for the scroll cursor. After this time period, a pagination request might fail because the scroll cursor is no longer available. Subsequent scroll requests prolong the lifetime of the scroll cursor by the duration of `page_timeout` in the scroll request. API name: page_timeout
func (*Query) Params ¶ added in v8.9.0
func (r *Query) Params(params map[string]json.RawMessage) *Query
The values for parameters in the query. API name: params
func (Query) Perform ¶ added in v8.7.0
Perform runs the http.Request through the provided transport and returns an http.Response.
func (*Query) Pretty ¶ added in v8.14.0
Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty
func (*Query) 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 (*Query) RequestTimeout ¶ added in v8.9.0
func (r *Query) RequestTimeout(duration types.DurationVariant) *Query
The timeout before the request fails. API name: request_timeout
func (*Query) RuntimeMappings ¶ added in v8.9.0
func (r *Query) RuntimeMappings(runtimefields types.RuntimeFieldsVariant) *Query
One or more runtime fields for the search request. These fields take precedence over mapped fields with the same name. API name: runtime_mappings
func (*Query) TimeZone ¶ added in v8.9.0
The ISO-8601 time zone ID for the search. API name: time_zone
func (*Query) WaitForCompletionTimeout ¶ added in v8.9.0
func (r *Query) WaitForCompletionTimeout(duration types.DurationVariant) *Query
The period to wait for complete results. It defaults to no timeout, meaning the request waits for complete search results. If the search doesn't finish within this period, the search becomes async.
To save a synchronous search, you must specify this parameter and the `keep_on_completion` parameter. API name: wait_for_completion_timeout
type Request ¶
type Request struct { // AllowPartialSearchResults If `true`, the response has partial results when there are shard request // timeouts or shard failures. // If `false`, the API returns an error with no partial results. AllowPartialSearchResults *bool `json:"allow_partial_search_results,omitempty"` // Catalog The default catalog (cluster) for queries. // If unspecified, the queries execute on the data in the local cluster only. Catalog *string `json:"catalog,omitempty"` // Columnar If `true`, the results are in a columnar fashion: one row represents all the // values of a certain column from the current page of results. // The API supports this parameter only for CBOR, JSON, SMILE, and YAML // responses. Columnar *bool `json:"columnar,omitempty"` // Cursor The cursor used to retrieve a set of paginated results. // If you specify a cursor, the API only uses the `columnar` and `time_zone` // request body parameters. // It ignores other request body parameters. Cursor *string `json:"cursor,omitempty"` // FetchSize The maximum number of rows (or entries) to return in one response. FetchSize *int `json:"fetch_size,omitempty"` // FieldMultiValueLeniency If `false`, the API returns an exception when encountering multiple values // for a field. // If `true`, the API is lenient and returns the first value from the array with // no guarantee of consistent results. FieldMultiValueLeniency *bool `json:"field_multi_value_leniency,omitempty"` // Filter The Elasticsearch query DSL for additional filtering. Filter *types.Query `json:"filter,omitempty"` // IndexUsingFrozen If `true`, the search can run on frozen indices. IndexUsingFrozen *bool `json:"index_using_frozen,omitempty"` // KeepAlive The retention period for an async or saved synchronous search. KeepAlive types.Duration `json:"keep_alive,omitempty"` // KeepOnCompletion If `true`, Elasticsearch stores synchronous searches if you also specify the // `wait_for_completion_timeout` parameter. // If `false`, Elasticsearch only stores async searches that don't finish before // the `wait_for_completion_timeout`. KeepOnCompletion *bool `json:"keep_on_completion,omitempty"` // PageTimeout The minimum retention period for the scroll cursor. // After this time period, a pagination request might fail because the scroll // cursor is no longer available. // Subsequent scroll requests prolong the lifetime of the scroll cursor by the // duration of `page_timeout` in the scroll request. PageTimeout types.Duration `json:"page_timeout,omitempty"` // Params The values for parameters in the query. Params map[string]json.RawMessage `json:"params,omitempty"` // Query The SQL query to run. Query *string `json:"query,omitempty"` // RequestTimeout The timeout before the request fails. RequestTimeout types.Duration `json:"request_timeout,omitempty"` // RuntimeMappings One or more runtime fields for the search request. // These fields take precedence over mapped fields with the same name. RuntimeMappings types.RuntimeFields `json:"runtime_mappings,omitempty"` // TimeZone The ISO-8601 time zone ID for the search. TimeZone *string `json:"time_zone,omitempty"` // WaitForCompletionTimeout The period to wait for complete results. // It defaults to no timeout, meaning the request waits for complete search // results. // If the search doesn't finish within this period, the search becomes async. // // To save a synchronous search, you must specify this parameter and the // `keep_on_completion` parameter. WaitForCompletionTimeout types.Duration `json:"wait_for_completion_timeout,omitempty"` }
Request holds the request body struct for the package query
func (*Request) FromJSON ¶ added in v8.5.0
FromJSON allows to load an arbitrary json into the request structure
func (*Request) UnmarshalJSON ¶ added in v8.12.1
type Response ¶ added in v8.7.0
type Response struct { // Columns Column headings for the search results. Each object is a column. Columns []types.Column `json:"columns,omitempty"` // Cursor The cursor for the next set of paginated results. // For CSV, TSV, and TXT responses, this value is returned in the `Cursor` HTTP // header. Cursor *string `json:"cursor,omitempty"` // Id The identifier for the search. // This value is returned only for async and saved synchronous searches. // For CSV, TSV, and TXT responses, this value is returned in the `Async-ID` // HTTP header. Id *string `json:"id,omitempty"` // IsPartial If `true`, the response does not contain complete search results. // If `is_partial` is `true` and `is_running` is `true`, the search is still // running. // If `is_partial` is `true` but `is_running` is `false`, the results are // partial due to a failure or timeout. // This value is returned only for async and saved synchronous searches. // For CSV, TSV, and TXT responses, this value is returned in the // `Async-partial` HTTP header. IsPartial *bool `json:"is_partial,omitempty"` // IsRunning If `true`, the search is still running. // If `false`, the search has finished. // This value is returned only for async and saved synchronous searches. // For CSV, TSV, and TXT responses, this value is returned in the // `Async-partial` HTTP header. IsRunning *bool `json:"is_running,omitempty"` // Rows The values for the search results. Rows [][]json.RawMessage `json:"rows"` }
Response holds the response body struct for the package query