refresh

package
v9.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Refresh an index. A refresh makes recent operations performed on one or more indices available for search. For data streams, the API runs the refresh operation on the stream’s backing indices.

By default, Elasticsearch periodically refreshes indices every second, but only on indices that have received one search request or more in the last 30 seconds. You can change this default interval with the `index.refresh_interval` setting.

Refresh requests are synchronous and do not return a response until the refresh operation completes.

Refreshes are resource-intensive. To ensure good cluster performance, it's recommended to wait for Elasticsearch's periodic refresh rather than performing an explicit refresh when possible.

If your application workflow indexes documents and then runs a search to retrieve the indexed document, it's recommended to use the index API's `refresh=wait_for` query parameter option. This option ensures the indexing operation waits for a periodic refresh before running the search.

Index

Constants

This section is empty.

Variables

View Source
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 NewRefresh

type NewRefresh func() *Refresh

NewRefresh type alias for index.

func NewRefreshFunc

func NewRefreshFunc(tp elastictransport.Interface) NewRefresh

NewRefreshFunc returns a new instance of Refresh with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.

type Refresh

type Refresh struct {
	// contains filtered or unexported fields
}

func New

Refresh an index. A refresh makes recent operations performed on one or more indices available for search. For data streams, the API runs the refresh operation on the stream’s backing indices.

By default, Elasticsearch periodically refreshes indices every second, but only on indices that have received one search request or more in the last 30 seconds. You can change this default interval with the `index.refresh_interval` setting.

Refresh requests are synchronous and do not return a response until the refresh operation completes.

Refreshes are resource-intensive. To ensure good cluster performance, it's recommended to wait for Elasticsearch's periodic refresh rather than performing an explicit refresh when possible.

If your application workflow indexes documents and then runs a search to retrieve the indexed document, it's recommended to use the index API's `refresh=wait_for` query parameter option. This option ensures the indexing operation waits for a periodic refresh before running the search.

https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-indices-refresh

func (*Refresh) AllowNoIndices

func (r *Refresh) AllowNoIndices(allownoindices bool) *Refresh

AllowNoIndices If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. This behavior applies even if the request targets other open indices. API name: allow_no_indices

func (Refresh) Do

func (r Refresh) Do(providedCtx context.Context) (*Response, error)

Do runs the request through the transport, handle the response and returns a refresh.Response

func (*Refresh) ErrorTrace

func (r *Refresh) ErrorTrace(errortrace bool) *Refresh

ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace

func (*Refresh) ExpandWildcards

func (r *Refresh) ExpandWildcards(expandwildcards ...expandwildcard.ExpandWildcard) *Refresh

ExpandWildcards Type of index that wildcard patterns can match. If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. Supports comma-separated values, such as `open,hidden`. Valid values are: `all`, `open`, `closed`, `hidden`, `none`. API name: expand_wildcards

func (*Refresh) FilterPath

func (r *Refresh) FilterPath(filterpaths ...string) *Refresh

FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path

func (*Refresh) Header

func (r *Refresh) Header(key, value string) *Refresh

Header set a key, value pair in the Refresh headers map.

func (*Refresh) HttpRequest

func (r *Refresh) HttpRequest(ctx context.Context) (*http.Request, error)

HttpRequest returns the http.Request object built from the given parameters.

func (*Refresh) Human

func (r *Refresh) Human(human bool) *Refresh

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 (*Refresh) IgnoreUnavailable

func (r *Refresh) IgnoreUnavailable(ignoreunavailable bool) *Refresh

IgnoreUnavailable If `false`, the request returns an error if it targets a missing or closed index. API name: ignore_unavailable

func (*Refresh) Index

func (r *Refresh) Index(index string) *Refresh

Index Comma-separated list of data streams, indices, and aliases used to limit the request. Supports wildcards (`*`). To target all data streams and indices, omit this parameter or use `*` or `_all`. API Name: index

func (Refresh) IsSuccess

func (r Refresh) IsSuccess(providedCtx context.Context) (bool, error)

IsSuccess allows to run a query with a context and retrieve the result as a boolean. This only exists for endpoints without a request payload and allows for quick control flow.

func (Refresh) Perform

func (r Refresh) Perform(providedCtx context.Context) (*http.Response, error)

Perform runs the http.Request through the provided transport and returns an http.Response.

func (*Refresh) Pretty

func (r *Refresh) Pretty(pretty bool) *Refresh

Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty

type Response

type Response struct {
	Shards_ *types.ShardStatistics `json:"_shards,omitempty"`
}

Response holds the response body struct for the package refresh

https://github.com/elastic/elasticsearch-specification/blob/52c473efb1fb5320a5bac12572d0b285882862fb/specification/indices/refresh/IndicesRefreshResponse.ts#L22-L25

func NewResponse

func NewResponse() *Response

NewResponse returns a Response