У меня есть отличные новости для вас и несколько ужасных новостей для вас.
Хорошая новость заключается в том, что в PHP есть реализации нескольких алгоритмов для сравнения строк, встроенных в:
У него также есть два относительно популярных способа разбить английские слова на более простые представления, подходящие для сравнения:
Хотя это хорошая новость, ужасная новость заключается в том, что с записями по 10–20 тыс. Вам потребуется выполнить где-то около полутора метрических сравнений, если вы используете первые два варианта, и они не великие исполнители. Я не слишком уверен в том, что это было бы в нотации big-O, но я думаю, что это где-то в диапазоне O(run away)
.
Предварительный расчет разбивки по подобию с использованием двух последних функций, а затем с использованием некоторого разнообразия операций группировки с результирующими данными может оказаться важным показателем производительности и выигрыша времени.