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."

Signature

Copied to clipboard!
void refresh(String index) throws io.kuzzle.sdk.BadRequestException, io.kuzzle.sdk.ForbiddenException, io.kuzzle.sdk.GatewayTimeoutException, io.kuzzle.sdk.InternalException, io.kuzzle.sdk.ServiceUnavailableException, io.kuzzle.sdk.NotFoundException;
void refresh(String index, io.kuzzle.sdk.QueryOptions options) throws io.kuzzle.sdk.BadRequestException, io.kuzzle.sdk.ForbiddenException, io.kuzzle.sdk.GatewayTimeoutException, io.kuzzle.sdk.InternalException, io.kuzzle.sdk.ServiceUnavailableException, io.kuzzle.sdk.NotFoundException;

Arguments

Arguments Type Description Required
index String Index name yes
options io.kuzzle.sdk.QueryOptions The query options no

Options

Additional query options

Option Type Description Default
queuable boolean Make this request queuable or not true

Exceptions

Throws a io.kuzzle.sdk.KuzzleException if there is an error. See how to handle error.

Usage

Copied to clipboard!
try{
  kuzzle.getIndex().refresh("nyc-open-data");

  System.out.println("0 shards fail to refresh");
} catch (KuzzleException e) {
  System.err.println(e.getMessage());
}