[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: форма поиска
Ilya1990
Здравствуйте...у мя сделан поиск на сайте из бд...ищет по ключевым словам...все работает...но тут столкнулся с проблемой а если пользователь ввел слово с ошибкой как ее исправить то...с ошибкой слово он не найдет..подскажите пожалуйста как это решается...



Спустя 36 минут, 59 секунд (3.09.2011 - 21:05) neadekvat написал(а):
Гугли по слову спеллчекер.

Спустя 3 минуты, 54 секунды (3.09.2011 - 21:09) redreem написал(а):
в PHP есть такие приятные штуки, как например levenshtein

Спустя 11 часов, 56 минут, 53 секунды (4.09.2011 - 09:06) Ilya1990 написал(а):
спасибо за ответы!!
спеллчекер к сожалению для мя сложно я не разобрался если есть можно какие нить ссылки где очень подробно объяснялось что и как надо делать а то что я находил мне не очень понятно((...а levenshtein проще...тока правильно ли я понял алгоритм действий..нужно проверить введенное слово со всеми словами в бд и искать с наименьшим числом изменений необходимых для преобразования в правильное слово..

Спустя 11 часов, 8 минут, 19 секунд (4.09.2011 - 20:15) redreem написал(а):
чем меньше результат сравнения по levenshtein, тем больше слова похожи. если = 0, то значит абсолютная идентичность. на основании этого можно выводить скажем 10 релевантных результатов, отсортированных по уровню похожести. кроме levenshtein есть еще похожие функции в php. погуглите и будет щасте.

Спустя 8 месяцев, 2 дня, 15 часов, 37 минут, 57 секунд (7.05.2012 - 11:53) obidnywa написал(а):
у меня проблема с levenshtein
код виглядит так

$shortest = -2;
foreach ($slovo as $word)
{
for ($i = 0; $i<=count($slovo); $i++)
{
for ($j = 0; $j<=count($arr); $j++)
{
$lev = levenshtein($arr[$j], $word[$i]);
}
}
if ($lev == 0)
{
$closest = $word;
$shortest = 0;
break;
}
if ($lev <= $shortest || $shortest < 0)
{
$closest = $word;
$shortest = $lev;
}


echo "<br><hr>";
if ($shortest == 0)
{
echo "znajwlo slovo: $closest <br>";
echo "znachennja slova $closest: $f";
}
}
$arr - ето массив текста
$slovo - массив слов с БД Postgres
$znach - массив значений $slovo
может кто што подскажет?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.