Интересна стратегия подхода к подобной задаче.
Дано: допустим навскидку 50000 rows (может быть сильно больше) в какой-нибудь RDBS в каждом row есть поле с текстом с 2000-6000 символов.
Надо: найти дубли которые будут либо полностью идентичны либо close enough (отличие в слово или несколько символов с подобным же порядком остальных слов), здесь вариаций может быть очень много, НО будем придерживаться более-менее простой модели.
Как бы вы решили эту проблему? очевидно выбирать каждый row и по некому алгоритму типа levenshtein distance сравнивать с 49999 rows будет не очень эффективно и как-то тупо :)
Есть как бы алгоритм шинглов, поидее можно построить некий внешний индекс выбирая в task queue все ячейки раз в день/ночью и потом уже сравнивать намного более короткие версии этих текстов на наличие почти-дублей, но мне всеравно это кажется как-то затратно, может есть идеи получше?