Search and Duplicate Detection
HARi’s search is fast, forgiving, and works across all your data. Find contacts, companies, deals, and tasks from a single search bar.
Global search
Section titled “Global search”Press Ctrl+K (or Cmd+K on Mac) from anywhere in HARi to open the global search bar.
Start typing and results appear instantly:
- Search across all entities (contacts, companies, opportunities, tasks, invoices, and any custom entity)
- Results are grouped by entity type
- Click a result to open the record directly
Global search matches against each entity’s display field (typically the name) using substring matching. Type “wire” to find “Wiresk”, “Wireline”, etc.
Full-text search
Section titled “Full-text search”For longer text fields (notes, descriptions, comments), HARi uses full-text search powered by PostgreSQL:
- Word-based matching: search for “quarterly review” and find records containing both words, even if they are not adjacent
- Stemming: “running” matches “run”, “runs”, “runner”
- Relevance ranking: the most relevant results appear first
Full-text search is automatic. Any textarea or rich text field marked as searchable is included.
Per-entity search
Section titled “Per-entity search”Each entity list has a search box that filters records as you type. This search:
- Matches against all visible text fields
- Supports partial matches (minimum 3 characters)
- Updates results in real time
- Combines with column filters (search + filter = precise results)
Fuzzy matching
Section titled “Fuzzy matching”HARi tolerates typos. Type “Shweitzer” and it will still find “Schweitzer”.
Fuzzy matching uses trigram similarity (3-character sliding windows) to find close matches even when the spelling is not exact. The similarity threshold is tuned to avoid false positives while catching common typos.
Duplicate detection
Section titled “Duplicate detection”HARi automatically checks for potential duplicates when you create or import records.
How it works
Section titled “How it works”When you create a new contact or company, HARi searches for existing records with:
- Same email address (exact match)
- Similar name (fuzzy match with > 70% similarity)
- Same phone number (normalized comparison)
- Same company + similar name combination
What you see
Section titled “What you see”If potential duplicates are found, HARi shows a warning before you save:
- List of potential matches with similarity scores
- Side-by-side comparison of key fields
- Options: Merge, View existing, or Create anyway
When you confirm a duplicate, you can merge the records:
- Choose which field values to keep from each record
- Activities, notes, and relations from both records are combined
- The duplicate is archived, not deleted (recoverable)
Bulk duplicate scan
Section titled “Bulk duplicate scan”Go to Settings > Data Quality > Duplicate Detection to scan an entire entity for duplicates. HARi identifies clusters of potential duplicates and lets you review and merge them in bulk.
Search performance
Section titled “Search performance”HARi uses PostgreSQL-native search indexes (pg_trgm for substring matching, tsvector for full-text). No external search engine is required.
- Substring search on 1 million records: approximately 50ms
- Full-text search on 1 million records: approximately 5ms
- All searches are indexed and optimized automatically by the platform