Если я правильно понимаю вашу проблему, дело в том, что дубликаты, которые вы хотите отфильтровать, не обязательно должны быть равны строкам.Я сталкивался с подобными ситуациями пару раз в прошлом и никогда не мог найти идеальных критериев для поиска логических дубликатов.На мой взгляд, лучший способ справиться с такими случаями - предоставить пользователю очень умную функциональность, подобную автозаполнению, поэтому, когда он пытается ввести данные, он видит все подобные записи и, надеюсь, не создаст новуючто-то он видит в списке.Такое подстрекательство может быть хорошим "приятелем" по вашим еще не идеальным критериям.