Documentation ¶
Overview ¶
Executes a SQL request
Index ¶
- Variables
- type NewQuery
- type Query
- func (r Query) Do(ctx context.Context) (*Response, error)
- func (r *Query) Format(v string) *Query
- func (r *Query) Header(key, value string) *Query
- func (r *Query) HttpRequest(ctx context.Context) (*http.Request, error)
- func (r Query) Perform(ctx context.Context) (*http.Response, error)
- func (r *Query) Raw(raw io.Reader) *Query
- func (r *Query) Request(req *Request) *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
Executes a SQL request
https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-search-api.html
func (Query) Do ¶
Do runs the request through the transport, handle the response and returns a query.Response
func (*Query) Format ¶
Format a short version of the Accept header, e.g. json, yaml API name: format
func (*Query) HttpRequest ¶
HttpRequest returns the http.Request object built from the given parameters.
func (Query) Perform ¶
Perform runs the http.Request through the provided transport and returns an http.Response.
type Request ¶
type Request struct { // Catalog 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 in a columnar fashion: one row represents all the values // of a certain column from the current page of results. Columnar *bool `json:"columnar,omitempty"` 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 Throw an exception when encountering multiple values for a field (default) or // be lenient and return the first value from the list (without any guarantees // of what that will be - typically the first in natural ascending order). FieldMultiValueLeniency *bool `json:"field_multi_value_leniency,omitempty"` // Filter Optional Elasticsearch query DSL for additional filtering. Filter *types.Query `json:"filter,omitempty"` // IndexUsingFrozen If true, the search can run on frozen indices. Defaults to false. IndexUsingFrozen *bool `json:"index_using_frozen,omitempty"` // KeepAlive 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 timeout before a pagination request fails. PageTimeout types.Duration `json:"page_timeout,omitempty"` // Params Values for parameters in the query. Params map[string]json.RawMessage `json:"params,omitempty"` // Query SQL query to execute Query *string `json:"query,omitempty"` // RequestTimeout The timeout before the request fails. RequestTimeout types.Duration `json:"request_timeout,omitempty"` // RuntimeMappings Defines one or more runtime fields in the search request. These fields take // precedence over mapped fields with the same name. RuntimeMappings map[string]types.RuntimeField `json:"runtime_mappings,omitempty"` // TimeZone Time-zone in ISO 8601 used for executing the query on the server. More // information available here. TimeZone *string `json:"time_zone,omitempty"` // WaitForCompletionTimeout Period to wait for complete results. 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. WaitForCompletionTimeout types.Duration `json:"wait_for_completion_timeout,omitempty"` }
Request holds the request body struct for the package query
type Response ¶
type Response struct { // Columns Column headings for the search results. Each object is a column. Columns []types.Column `json:"columns,omitempty"` // Cursor 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 Identifier for the search. This value is only returned 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 only returned 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 only returned 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 Values for the search results. Rows [][]json.RawMessage `json:"rows"` }