Flushing an index

ElasticSearch for performance reasons stores some data in memory and on a transaction log. If we want to free the memory, empty the translation log and be sure that our data is safely written on the disk we need to flush an index.

Getting ready

You need a working ElasticSearch cluster and the index created in the Creating an index recipe.

How to do it...

The HTTP method used for both operations is POST.

The URL format for flushing an index is as follows:

http://<server>/<index_name(s)>/_flush[?refresh=True] 

The URL format for flushing all the indices in a cluster is as follows:

http://<server>/_flush[?refresh=True] 

For flushing an index, we need to perform the following steps:

  1. If we consider the type order of the previous chapter, the call will be as follows:
    curl -XPOST 'http://localhost:9200/myindex/_flush?refresh=True'
    
  2. If everything is all right, the result returned by ElasticSearch should be as follows:
    {"ok":true,"_shards":{"total":4,"successful":2,"failed":0}}

The result contains the state ok and the shard operation status.

How it works...

ElasticSearch tries not to put overhead in I/O operations caching in memory some data to reduce writing: in this way it is able to improve the performance.

To clean up memory and force this data on disk, the flush operation is required.

ElasticSearch automatically provides periodic flush on disk, but forcing flush can be useful in the following instances:

  • When we are able to shut down a node to prevent stealing of data
  • To have all the data in a safe state (for example after a big indexing operation to have all the data flushed and refreshed)

In the flush call, it is possible to give an extra request parameter, refresh to force also the index refresh.

Tip

Flushing too often affects index performances: use it wisely.

See also

  • The Refreshing an index recipe in this chapter
  • The Optimizing an index recipe in this chapter
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.216.188.62