The functionality is largely inspired by the SOLR official de-duplication approach, for each item one or more signatures are computed using pluggable implementation.
A signature is a value that summarize the information in the item using a pluggable transformation (case insensitive, ascii transcription, identifier normalisation, etc), out of box implementation based on a normalization of a single metadata (such as an identifier or the title) or a combination of metadata (such as title + year, etc.) are included.
Two items are flagged as potential matches if they share at least one signature.
Feedback on potential matches (reject or duplicate flag) are stored in the database table dedup_reject
Signatures and matched groups are computed when an item is updated and stored on a dedicated SOLR core this make extremely fast and lightweight to check for potential duplicate. This SOLR core is maintained using DedupEventConsumer a script DedupClient is provided to rebuild the index or build it the first time if you are migrating from a previous version.
Two functionalities have two point of interaction with the users
- During the submission and the workflow, the potential duplicates are presented and feedback from the submitter and validator are collected (see deduplication alert)
- An administrative dashboard is available to the administrator to check for existent duplicates and merge group of items (see The administrative UI)