Pause Index Operation


On which node the index is paused:

  • When pausing the index from the client:
    The index will be paused on the preferred node only, and Not on all the database-group nodes.

  • When pausing the index from the Studio (from the indexes list view):
    The index will be paused on the local node the browser is opened on, even if it is Not the preferred node.

When index is paused on a node:

  • No indexing will be done by the paused index on the node where index was paused.
    However, new data will be indexed by the index on other database-group nodes where it was not paused.

  • You can query the index,
    but results may be stale when querying the node where the index is paused.

How to resume the index:

  • To resume the index from the client - see resume index.

  • To resume the index from the Studio - go to the indexes list view.

  • Pausing the index is Not a persistent operation.
    This means the paused index will resume upon either of the following:

    • The server is restarted.
    • The database is re-loaded (by disabling and then enabling the database state).
      Toggling the database state can be done from database list view in Studio,
      or from the client by sending the ToggleDatabasesStateOperation.
  • Resetting a paused index will also resume the normal operation of the index
    on the local node where the reset action was performed.

  • Modifying the index definition will resume the normal operation of the index
    on all nodes where it is paused.

Pause index example

// Define the pause index operation, pass the index name 
const pauseIndexOp = new StopIndexOperation("Orders/Totals");

// Execute the operation by passing it to maintenance.send
await store.maintenance.send(pauseIndexOp);

// At this point:
// Index 'Orders/Totals' is paused on the preferred node

// Can verify the index status on the preferred node by sending GetIndexingStatusOperation
const indexingStatus = await store.maintenance.send(new GetIndexingStatusOperation());

const index = indexingStatus.indexes.find(x => === "Orders/Totals")
assert.strictEqual(index.status, "Paused");


// class name has "Stop", but this is ok, this is the "Pause" operation
const pauseIndexOp = new StopIndexOperation(indexName);
Parameters Type Description
indexName string Name of an index to pause