Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: поиск как в Яндексе, определение необходимости смены раскладки клавиатуры
 
 автор: Dobrynin   (01.04.2009 в 10:28)   письмо автору
 
 

есть такая проблема:

Я создаю поиск по сайту, похожий на Яндекс и Google. Я научился создавать всевозможные словоформы русского языка из словаря и написал функцию: возможно вы искали (исправление синтаксических ошибок)

теперь стоит вопрос, как можно узнать, что нужно использовать функцию "возможно вы искали", или смена раскладки клавиатуры или искать как есть?

дело в том, что если если дано одно слово, то можно и создать поиск один из 3-х, а вот если дана фраза, там уже нужно точно знать что менять и на что.

Может кто подскажет идею.

  Ответить  
 
 автор: OLi   (01.04.2009 в 18:09)   письмо автору
 
   для: Dobrynin   (01.04.2009 в 10:28)
 

Пусть пользователь вводит запрос:
Что такое php?
А получает: Xnj nfrjt php?
Для каждой из русских букв на клавиатуре есть английская. Нужно задать массив этих значений, т-е
Q-й
w-ц
e-у
r-к
и тд...
Затем создать отдельно группу согласных и гласных букв двух алфавитов, затем брать каждую букву и находить ей подобную в массивах согласных и гласных! По правилам русского языка нет таких слов, которые бы начинались с 3-х согласных и гласных. Т-е автоматом переводить на английский!
Вобщем мысль не закончена...

  Ответить  
 
 автор: Dobrynin   (02.04.2009 в 14:23)   письмо автору
 
   для: OLi   (01.04.2009 в 18:09)
 

как переводить-то я знаю
а вот что делать с абривиатурами такими как "МВБ", "МЧС", а сколько вузов с одними согласными, это просто жуть %(

  Ответить  
 
 автор: Trianon   (24.09.2009 в 19:26)   письмо автору
 
   для: Dobrynin   (02.04.2009 в 14:23)
 

это в принципе порочный подход, основанный на ложном утверждении "По правилам русского языка нет таких слов...".

  Ответить  
 
 автор: Николай2357   (02.04.2009 в 14:32)   письмо автору
 
   для: OLi   (01.04.2009 в 18:09)
 

>>По правилам русского языка нет таких слов, которые бы начинались с 3-х согласных и гласных.
Велик и могуч русский язык: ВЗБЗДНУТЬ.

  Ответить  
 
 автор: Рома   (24.09.2009 в 19:15)   письмо автору
 
   для: Николай2357   (02.04.2009 в 14:32)
 

:)

  Ответить  
 
 автор: Киналь   (01.04.2009 в 20:28)   письмо автору
 
   для: Dobrynin   (01.04.2009 в 10:28)
 

Смотрим на каждое слово запроса. Если оно латиницей, то при поиске обращаем внимание на количество найденных результатов; если он меньше, допустим, 1% от количества всех записей в базе, то переводим слово из этого "волапюка" в кириллицу по таблице соответствий и либо ищем заново, либо предлагаем это сделать пользователю.

  Ответить  
 
 автор: Dobrynin   (02.04.2009 в 14:21)   письмо автору
 
   для: Киналь   (01.04.2009 в 20:28)
 

при очень большой базе и колосальной посещаемости этот результат не осуществим т.к. каждый лишний запрос заставляет сервер много думать, здесь нужно понять всё сразу

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования