Accelerate the Value of Data

Reindex Relations Task

Reindexes relations in a tenant.

This task reindexes relations in a tenant.

Stop and Pause are supported.

Requests

Admin role is required:

POST {ApplicationURL}/reindexRelations

Tenant admin role is required:

POST {ApplicationURL}/api/{tenantId}/reindexRelations
Table 1. Parameters
Parameter Required Description
tenantId Yes ID of the tenant to reindex entities.
updateRelations No If set to true (default), in addition to refreshing the relations in the tenant, also updates history, match tables, and the analytics layer (RI). This may interfere with normal event streaming.

If set to false, the task updates ElasticSearch relations data only but does not perform rematching or update history or analytics.

See Reindexing and Streaming for details.

relationType No If provided, restricts reindex scope to relations of a specific type.
skipRelationsCount No Number of relations which are skipped during reindex. Default value: 0.
relationsLimit No Number of relations which are processed during reindex. Default value: infinity.
updatedSince No Timestamp in Unix format. If this parameter is specified, then only relations with greater or equal timestamp are reindexed.
checkCrosswalksConsistency No Specify true to start a task which checks whether all crosswalks are unique before reindexing.
distributed No If set to true, the task runs in distributed mode. Default value: false (for details, refer to Distributed Mode.
taskPartsCount No Number of tasks which are created for distributed reindexing. Each task reindexes its own part of objects, and all of them may be executed on different API nodes in parallel.

Recommended value: the number of API nodes which can execute the tasks. Default value: 2.

Note: This parameter is used only in distributed mode (distributed=true); otherwise, it is ignored.
forceIgnoreInStreamingNo If set to true, events generated by the task are excluded from streaming to any external queue.

Default: false

enableSeparateIndexingNoIf set to true, the Reindex Relations task builds a new index. After building the new index, the task replaces the old index with the new one. With this parameter, the Reindex Relations task runs in the background and you can continue your activities in Reltio Platform without waiting for the task to finish.

Default value : false

Body (optional):

JSON Array of relations URIs to reindex. Only these relations are reindexed in this case.

Reindexing and Streaming

The Reindex relations task can do the following:

  • Reindex tenant's relations
  • Update the history table
  • Update the match tables to reflect each relation change/creation/deletion caused by reindexing
  • Repopulate the analytics layer (RI)

Each of these activities can generate a large volume of events, which may overwhelm the tenant's AMQ/SQS queues.

There are two ways to prevent this problem:

  • Run reindexRelations with updateRelations set to false, as in the following example:

    POST /reltio/{tenantId}/reindexRelations?updateRelations=false

    When run with this option, reindexRelations only reindexes the ElasticSearch index; the History, Match, and Analytics processors are not triggered.

  • Run reindexRelations with forceIgnoreInStreaming set to true, as in the following example:

    POST /reltio/{tenantId}/reindexRelations?forceIgnoreInStreaming=true

    This option forces reindexRelations to ignore streaming when running a reindex job.