Your duplicate detection configuration needs a complete overhaul to address all three focus areas effectively. Here’s the comprehensive solution:
Fuzzy Matching Configuration:
First, lower your MatchThreshold to enable similarity detection:
MatchCriteria=PartNumber,Description,Manufacturer
MatchThreshold=85
CaseSensitive=false
IgnoreSpecialChars=true
NormalizeWhitespace=true
However, ENOVIA’s built-in fuzzy matching is limited. Implement a custom duplicate checker that runs before the bulk import:
public boolean isDuplicate(String partNum) {
String normalized = normalizeString(partNum);
// Query existing parts with Levenshtein distance
return findSimilarParts(normalized, 0.85);
}
Bulk Import Process Enhancement:
Modify your import workflow to include a validation stage. Create a pre-import processor that:
- Normalizes all part numbers (remove dashes, spaces, convert to uppercase)
- Queries existing parts using normalized values
- Flags matches with >85% similarity for manual review
- Auto-rejects matches >95% similarity
- Generates a validation report before actual import
Implement this as a custom import extension:
// Pseudocode - Key implementation steps:
1. Load import file into staging table
2. For each part: normalize attributes (remove special chars)
3. Execute similarity query against ENOVIA part master
4. Calculate Levenshtein distance for flagged matches
5. Generate validation report with duplicate candidates
6. Require QA approval before proceeding with import
// See documentation: ENOVIA Customization Guide Section 8.4
QA Post-Processing Automation:
Since some duplicates will inevitably slip through, implement automated QA checks:
- Schedule a nightly job that scans recently created parts for similarity
- Use phonetic matching (Soundex/Metaphone) to catch spelling variations
- Generate daily QA reports highlighting potential duplicates
- Integrate with your change management workflow to block changes referencing suspected duplicates
The key is moving duplicate detection earlier in your pipeline. Your current approach catches issues too late - after BOMs and change requests are created. By implementing pre-import validation with true fuzzy matching logic, you’ll reduce QA cleanup time from 40% to under 10%. The normalized comparison handles your dash vs space issue, while the similarity threshold catches typos and variations.
For immediate relief, export your existing parts, run a deduplication analysis offline using tools like OpenRefine, then establish the enhanced import process before loading new data. This prevents the problem from growing while you implement the long-term solution.
This draft is based on general ENOVIA knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.