Для начала, вам, вероятно, следует выполнить некоторую нормализацию. Вам, вероятно, следует преобразовать весь ваш текст в одну кодировку (например, UTF-8). Возможно, вы также захотите выполнить сворачивание регистра, другие нормализации Unicode и, возможно, также отсортировать каждый набор (в зависимости от того, как вы его храните).
Из вашего вопроса (для меня) неясно, хотите ли вы найти точные совпадения или просто наборы строк, которые "похожи". Если вы заботитесь о точных совпадениях только после того, как нормализация будет принята во внимание, то вы почти закончили. Просто укажите индекс для нормализованных форм ваших наборов строк, и вы сможете быстро найти новые наборы, также нормализуя их.
Если вы хотите найти близкие совпадения, вы, вероятно, захотите выполнить какое-то хеширование сходства. В статье Википедии о Хешировании с учетом локальных особенностей описан ряд методов.
Основная идея, лежащая в основе ряда этих методов, состоит в том, чтобы вычислять несколько хэшей с очень потерями в каждой строке, от h [0] до h [n]. Чтобы найти новый набор строк, вы должны вычислить его хэши и посмотреть каждый из них. Все, что получает хотя бы одно совпадение, является «похожим», и чем больше совпадений, тем больше оно похоже (и вы можете выбрать, в какой пороге обрезать объекты).