PHP расстояние Левенштейна

Я хочу показать Ты имел ввиду альтернатива, когда пользователь ищет неверное слово. Этот код работает, но некоторые результаты не имеют значения. Пример: у меня есть яблоко запись в моей таблице. Если пользователь ищет apple1 результат: вы имели в виду яблоко?, но если пользователь ищет АПОО результат: вы имели в виду раскладывать? Есть ли способ отобразить более релевантные результаты? Вот код:

$search = $_GET ['search'];

$results = array();
foreach ($db->query("SELECT id FROM table") as $name) {
$results[] = $name['id'];
}

$shortest = -1;
foreach ($results as $word) {
$lev = levenshtein($search, $word);

if ($lev <= $shortest || $shortest < 0) {
$closest  = $word;
$shortest = $lev;
}
}
echo $closest;

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]