[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Движок поиска для самописного сайта
artlayers
Есть самописный движок, необходимо организовать поиск по БД (mysql), по двум полям - русское название и название на английском языке. При всем этом вариант типа
SELECT * FROM name WHERE 
en_title LIKE %что-то%
OR ru_title LIKE %что-то%

совсем не подходит. Нужен поиск умнее, который может учитывать частичные совпадения и ранжировать соответственно результаты. Например, неграмотный пользователь пишет запрос: "велосепед" такого слова в БД нет, соответственно при поиске влоб пользователь получит ответ, что ничего не найдено. Но слово "велосипед" в БД есть и даже при неправильном запросе, но близком к этому слову пользователь должен получить релевантный результат. Кроме того, необходимо учитывать разные словоформы одного слова. Подскажите готовые решения или пути. Спасибо.



Спустя 24 минуты, 35 секунд (10.08.2011 - 10:41) neadekvat написал(а):
http://habrahabr.ru/blogs/algorithm/105450/
Правда, изображения там уже мертвые. Но по крайней мере слово "спеллчекер" узнаешь.

Спустя 4 минуты, 28 секунд (10.08.2011 - 10:45) Invis1ble написал(а):
почитай про
SOUND LIKE
SOUNDEX()

soundex()

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

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