Rebuild Match Table Task
Learn about the Rebuild match table API.
Use the Rebuild Match Table Task to rebuild match tables for a tenant.
Before you run the RebuildMatchTableTask, especially for large datasets (> tens of millions of entities), review and optimize your match rules. See Analyze match strategy to identify any rules that could slow performance. Running this task with unoptimized rules may result in significantly slower throughput.
RebuildMatchTableTask if you made any of these changes after you loaded your data:- Turned on match rules
- Edited match rules
- Edited survivorship rules for any attributes included in match rules
RebuildMatchTableTask in this case.HTTP method and endpoint
Use the following HTTP method and endpoint path to submit the request:
POST {ApplicationURL}/rebuildmatchtable
POST {ApplicationURL}/api/{tenantId}/rebuildmatchtable
Request headers
The following request headers must be included.
| Header | Value | Required |
|---|---|---|
Authorization | Bearer <token> | Yes |
Content-Type | application/json | Yes |
Query parameters
| Parameter | Required | Default Value | Description |
|---|---|---|---|
| tenantId | Yes | ID of the tenant to rebuild match table. | |
| entityType | No | Entity type to check. All types are checked if this parameter is not specified. | |
| skipEntitiesCount | No | 0 | Number of entities which are skipped during reindexing. |
| entitiesLimit | No | infinity | Number of entities which are processed during reindexing. |
| distributed | No | false |
If set to
true, the task runs in distributed mode. Default value is false. For more information, see Distributed mode. |
| taskPartsCount | No | 2 |
Specifies the maximum number of sub-tasks for distributed execution. The platform determines the optimal number based on performance limits. Default value is
2. Note: This parameter is only applicable when distributed=true. Otherwise, it s ignored. |
| deleteOldCF | No | false | If set to true, the task deletes old matching Column Family after it is completed. |
| distributedTaskIndex | No | none |
|
| maintenanceOptions=skipMatchEvents | No | false | If set to true, the task will rebuild match structures without triggering match events. Default value is false, which will trigger the match events. |
runFernReindexBeforeRebuild | No | false | If true, the task runs FERN vectorization first. The match table rebuild starts only after vectorization completes successfully. If vectorization fails, the match table rebuild does not start. |
Request body
JSON Array of entity URIs to rebuild match tables. Only match table records related to the URIs are rebuilt in this case.
PostRebuildMatchTableCheckTask
After you run the RebuildMatchTableTask, run the additional PostRebuildMatchTableCheckTask to ensure that all match documents are processed. This additional task is disabled by default. To enable this task, raise a support ticket. For details, see topic Get help in Support Portal .
- Processes the same records that the
RebuildMatchTableTaskprocessed - Uses the same parameters and any URI list as the
RebuildMatchTableTask - Checks if the match tables are updated correctly
- The
PostRebuildMatchTableCheckTaskmay be time consuming, and in some cases can take longer than theRebuildMatchTableTask. - The
PostRebuildMatchTableCheckTaskalways runs in non-distributed mode even if the parentRebuildMatchTableTaskis executed in distributed mode.
RemoveOvercollisionedTokens
To remove overcollisioned flags, run removeOvercollisionedTokenstask with remove=true parameter.
RebuildMatchTableTask task does not remove overcollisioned flags from the match keyspace.