Why are two entities not matching when they should?


Two records satisfy an auto-merge rule, and when checked with the Verify Match API the result is true. However, they did not auto-merge. Why is this and how is it fixed?


  •  Verify match API 
POST {TenantURL}/entities/_verifyMatches
    "rules": {
        "configuration/entityTypes/HCP/matchGroups/SuspectPersonByFuzzyNameAddressLine1CityStateProvince": {
            "matchTokens": {
                "first": {
                    "foundInMatchTables": true,
                    "tokens": [
"second": {
                    "foundInMatchTables": false,
                    "tokens": [

Here we observe  Match token is not generated.  

  • We also verified whether the entity versions and match document versions are the same 
GET {apiURL}/monitoring/_versions?tenantId=<tenant id>&id=<object id>

Example of the response:

{ "EntityVersion": 2000000003, "ESVersion": 2000000003, "MatchDocumentVersion": 2000000003 }

The response should contain 3 fields: EntityVersion - version in the main storage, ESVersion - version in ES, MatchDocumentVersion - version of the match document. All 3 versions must be equal if the internal queues are empty.

NOTE: _versions endpoint does not resolve IDs to winners, i.e. it will return version of the object with exactly the same ID as provided even if it is a loser or deleted. In the case of a loser or deleted object, it’s possible that ESVersion and/or MatchDocumentVersion will be absent, but if they are present they should be equal to EntityVersion

  • It could be that a match token is not generated and/or that the entity versions and the match document versions are different. If the match token isn't found in the match table, run a Rebuild Match Table Task or Reindex Task with the option "update entities=true" to update the match tables.




Was this article helpful?
0 out of 0 found this helpful



Please sign in to leave a comment.