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
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 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: Note: This parameter is used only in distributed mode (
distributed=true ); otherwise, it is ignored. |
forceIgnoreInStreaming | No | If set to true , events generated by the task are excluded from streaming to any external queue. Default: |
enableSeparateIndexing | No | If 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 : |
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
withupdateRelations
set tofalse
, 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
withforceIgnoreInStreaming
set totrue
, as in the following example:POST /reltio/{tenantId}/reindexRelations?forceIgnoreInStreaming=true
This option forces
reindexRelations
to ignore streaming when running a reindex job.