refresh

When writing or deleting documents in Kuzzle, the update needs to be indexed before being available in search results.

A refresh operation comes with some performance costs.

From the Elasticsearch documentation:

"While a refresh is much lighter than a commit, it still has a performance cost. A manual refresh can be useful when writing tests, but don’t do a manual refresh every time you index a document in production; it will hurt your performance. Instead, your application needs to be aware of the near real-time nature of Elasticsearch and make allowances for it."


Copied to clipboard!
refresh(index, [options]);

Arguments Type Description
options
object
Query options

options

Additional query options

Property Type
(default)
Description
queuable
boolean

(true)
If true, queues the request during downtime, until connected to Kuzzle again

Resolves

Resolves to an object containing the refresh status on shards.

Name Type Description
total
number
Total number of shards
successful
number
Successfully refreshed shards
failed
number
Shards that failed to refresh

Usage

Copied to clipboard!
try {
  const status = await kuzzle.index.refresh('nyc-open-data');
  console.log(status);
  /*
    { total: 5, successful: 5, failed: 0 }
  */

  console.log(`${status.failed} shards fail to refresh`);
} catch (error) {
  console.error(error.message);
}