
Please refer this link
https://gist.github.com/goravseth/c847864982cc4923efed2b074ffe7cfahttps://wedgecommerce.com/match-duplicates-record/https://hub.appirio.com/tech-blog/duplicate-management-by-salesforce-bypassing-certain-ruleshttps://www.data2crm.com/migration/help/make-duplicates-migration-salesforce-classic-successful/Datacloud.FindDuplicatesResult[] results = Datacloud.FindDuplicates.findDuplicates(accountList);
List<String> duplicateRecords = new List<String>();
for (Datacloud.FindDuplicatesResult findDupeResult : results) {
for (Datacloud.DuplicateResult dupeResult : findDupeResult.getDuplicateResults()) {
for (Datacloud.MatchResult matchResult : dupeResult.getMatchResults()) {
for (Datacloud.MatchRecord matchRecord : matchResult.getMatchRecords()) {
duplicateRecords.add(matchRecord.getRecord().Id);
}
}
}
}
if (duplicateRecords.size() != 0) {
account.addError('Duplicate! Records Ids: ' + string.join(duplicateRecords, ','));
}