Забыли пароль?
Запросите новый здесь.

Автор темы: Vova
ID темы: 1847
Информация:
Тема содержит 7 сообщения, была просмотрена 2390 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » PHP
 Распечатать тему
levenshtein и soundex?
Vova
Есть примеры?

levenshtein -- Вычисляет расстояние Левенштейна между двумя строками.

Как реализовать:

возможно вы искали.

Например, где первая строка $_GET['text'];
 
Web
SchreiBear
Vova,



Загрузить источник  GeSHi: PHP
  1. <?php
  2. // eingegebenes falsch geschriebenes Wort
  3. $input = 'carrrot';
  4.  
  5. // W&#246;rterarray als Vergleichsquelle
  6. $words = array('apple','pineapple','banana','orange',
  7. 'radish','carrot','pea','bean','potato');
  8.  
  9. // noch keine k&#252;rzeste Distanz gefunden
  10. $shortest = -1;
  11.  
  12. // durch die Wortliste gehen, um das &#228;hnlichste Wort zu finden
  13. foreach ($words as $word) {
  14.  
  15. // berechne die Distanz zwischen Inputwort und aktuellem Wort
  16. $lev = levenshtein($input, $word);
  17.  
  18. // auf einen exakten Treffer pr&#252;fen
  19. if ($lev == 0) {
  20.  
  21. // das n&#228;chste Wort ist das Wort selbst (exakter Treffer)
  22. $closest = $word;
  23. $shortest = 0;
  24.  
  25. // Schleife beenden, da wir einen exakten Treffer gefunden haben
  26. break;
  27. }
  28.  
  29. // Wenn die Distanz kleiner ist als die n&#228;chste gefundene kleinste Distanz
  30. // ODER wenn ein n&#228;chstkleineres Wort noch nicht gefunden wurde
  31. if ($lev <= $shortest || $shortest < 0) {
  32. // setze den n&#228;chstliegenden Treffer und die k&#252;rzestes Distanz
  33. $closest = $word;
  34. $shortest = $lev;
  35. }
  36. }
  37.  
  38. echo "Eingegebenes Wort: $input\n";
  39. if ($shortest == 0) {
  40. echo "Exakter Treffer gefunden: $closest\n";
  41. } else {
  42. echo "Meinten Sie: $closest?\n";
  43. }
  44.  
  45. ?>
Добавлено за 0.027 секунд, используя GeSHi 1.0.8.10


всё что видел
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Chief
Да, пример из php.net рулит.
У богатых людей — большая библиотека. У бедных людей — большой телевизор.
 
Vova
Сделал. Было 70.000 ключевых слов.

Набрал слово яндекс оно исправило на индекс.

Сейчас думаю как оптимизировать. И что бы быстрее работало.

В яндексе это реализовано через "МАТРИКСНЕТ"
Изменил(а) Vova, 23.10.2013 20:26
 
Web
Chief
Мне кажется, что любые оптимизации тут это как тыкать пальцем в небо. Ибо похапе и особенно мускул никак не поспособствуют нормальной работе, при росте в геометрической прогрессии базы ключевиков. Не зря ж вся индексация гугла построена на в плоских файлах.
У богатых людей — большая библиотека. У бедных людей — большой телевизор.
 
Vova
Chief написал:

Мне кажется, что любые оптимизации тут это как тыкать пальцем в небо. Ибо похапе и особенно мускул никак не поспособствуют нормальной работе, при росте в геометрической прогрессии базы ключевиков. Не зря ж вся индексация гугла построена на в плоских файлах.


Это не ведомо. Пишут одно делают другое)

Главное руки. Когда давно игры делал. Достал движок RenderWare. На этом движке сделал игру, конвертнул город(30% пришлось самому делать)(18.000 обьектов), машины с игр брал, сделал аудио архив на 3.8гб, 180 миссий + 80скриптов для геймплея сделал используючи: gosub, jump, if, else_jump.
Это было не за один день конечно. За 1,5 года сделал.

И не было лагов и проблем со скриптами.

Вывод. Главное руки.
 
Web
SchreiBear
Chief, написал же...всё что видел.
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)