Как использовать Soundex в PHP с SQLITE, чтобы получить "Вы имели в виду.."

Я знаю, что есть похожая тема, но у нее нет полезного ответа.

Я использую SQLITE (не могу изменить язык), и когда пользователь заполняет форму, одним из полей является Категория.

Я хочу, чтобы они указали категорию, например, они могут ввести: садоводство.

Но если эта категория уже существует "Садоводство" или они неправильно вводят ее, она добавит запись и вызовет проблемы при поиске.

Я хочу знать, возможно ли использовать SOUNDEX в записи, чтобы сопоставить ее с базой данных, и если существует запись, которая, скажем, на 80% похожа или что-то подобное, она выдаст сообщение:

Вы имели в виду (категория)?

Который будет ссылкой, которая при нажатии изменит поле ввода.

Довольно много я ищу, поэтому заранее спасибо за любую помощь.

ОБНОВЛЕНИЕ: Моя база данных имеет значения, которые будут похожи на. Так:

КАТЕГОРИЯ:

САДОВАЯ ПРИГОТОВЛЕНИЕ DIY

1 ответ

Решение

Да, но вам нужно добавить значения soundex в базу данных, чтобы вы могли выполнить их поиск. В противном случае вам нужно будет извлечь каждую запись в таблице, чтобы проанализировать ее через soundex, чтобы выполнить сопоставление. Предварительная выпечка это путь.

Подсказка: если вы хотите быть немного нечетким, выполните цикл проверки, отсекая сегменты звукового индекса от введенного значения. Вы получите список первых идеальных совпадений, затем близких, а затем еще дальше.

Другие вопросы по тегам