flush

package
v8.17.0 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 12 Imported by: 4

Documentation

Overview

Flush data streams or indices. Flushing a data stream or index is the process of making sure that any data that is currently only stored in the transaction log is also permanently stored in the Lucene index. When restarting, Elasticsearch replays any unflushed operations from the transaction log into the Lucene index to bring it back into the state that it was in before the restart. Elasticsearch automatically triggers flushes as needed, using heuristics that trade off the size of the unflushed transaction log against the cost of performing each flush.

After each operation has been flushed it is permanently stored in the Lucene index. This may mean that there is no need to maintain an additional copy of it in the transaction log. The transaction log is made up of multiple files, called generations, and Elasticsearch will delete any generation files when they are no longer needed, freeing up disk space.

It is also possible to trigger a flush on one or more indices using the flush API, although it is rare for users to need to call this API directly. If you call the flush API after indexing some documents then a successful response indicates that Elasticsearch has flushed all the documents that were indexed before the flush API was called.

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 Flush

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

func New

Flush data streams or indices. Flushing a data stream or index is the process of making sure that any data that is currently only stored in the transaction log is also permanently stored in the Lucene index. When restarting, Elasticsearch replays any unflushed operations from the transaction log into the Lucene index to bring it back into the state that it was in before the restart. Elasticsearch automatically triggers flushes as needed, using heuristics that trade off the size of the unflushed transaction log against the cost of performing each flush.

After each operation has been flushed it is permanently stored in the Lucene index. This may mean that there is no need to maintain an additional copy of it in the transaction log. The transaction log is made up of multiple files, called generations, and Elasticsearch will delete any generation files when they are no longer needed, freeing up disk space.

It is also possible to trigger a flush on one or more indices using the flush API, although it is rare for users to need to call this API directly. If you call the flush API after indexing some documents then a successful response indicates that Elasticsearch has flushed all the documents that were indexed before the flush API was called.

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html

func (*Flush) AllowNoIndices

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

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 (Flush) Do

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

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

func (*Flush) ErrorTrace added in v8.14.0

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

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

func (*Flush) ExpandWildcards

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

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 (*Flush) FilterPath added in v8.14.0

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

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

func (*Flush) Force

func (r *Flush) Force(force bool) *Flush

Force If `true`, the request forces a flush even if there are no changes to commit to the index. API name: force

func (*Flush) Header

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

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

func (*Flush) HttpRequest

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

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

func (*Flush) Human added in v8.14.0

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

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

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

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

func (*Flush) Index

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

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

func (Flush) IsSuccess

func (r Flush) 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 (Flush) Perform added in v8.7.0

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

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

func (*Flush) Pretty added in v8.14.0

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

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

func (*Flush) WaitIfOngoing

func (r *Flush) WaitIfOngoing(waitifongoing bool) *Flush

WaitIfOngoing If `true`, the flush operation blocks until execution when another flush operation is running. If `false`, Elasticsearch returns an error if you request a flush when another flush operation is running. API name: wait_if_ongoing

type NewFlush

type NewFlush func() *Flush

NewFlush type alias for index.

func NewFlushFunc

func NewFlushFunc(tp elastictransport.Interface) NewFlush

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

type Response added in v8.7.0

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

Response holds the response body struct for the package flush

https://github.com/elastic/elasticsearch-specification/blob/2f823ff6fcaa7f3f0f9b990dc90512d8901e5d64/specification/indices/flush/IndicesFlushResponse.ts#L22-L24

func NewResponse added in v8.7.0

func NewResponse() *Response

NewResponse returns a Response

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL