Морфологический поиск по базе данных на хостинге sweb

Drakon

Новичок
Морфологический поиск по базе данных на хостинге sweb

Имеется виртуальный хостинг на sweb.ru с базой данных MySQL 5.0.
Необходимо произвести поиск по тексту с учётом морфологии русского и желательно английского языка.
Т. е. если в базе данных содержится строка "распродажи ковров", то эта строка должна быть найдена по запросам "распродажа ковров", "распродаж ковров" и т. д.
Попробовал сделать полнотекстовый индекс - не находит... Процент соответствия между словами "распродажа" и "распродажи" равен 0.
Возможно есть какие-то PHP-классы, которые выделяют основу из слова, этого вполне хватило бы для реализации поиска...
Или может есть какие-то другие решения?
 

Drakon

Новичок
Я использую метод:

mixed phpMorphy::getPseudoRoot($word, $type = self::NORMAL)
Возвращает общую часть для всех словоформ заданного слова. Общая часть может быть пустой (к примеру, для слова ДЕТИ). Этот метод не возвращает корень слова в привычном его понимании (только longest common substring для всех словоформ).

Работает очень быстро: в среднем 2-3мс на инициализацию и меньше 1мс на поиск слова... Словарь загружен в разделяемую память.
 

Adelf

Administrator
Команда форума
phpMorphy действительно неплохая вещь. Когда не хочется или не можется использовать действительно хорошие поисковые механизмы, он коекак заменит их(ну вместе с СУБД ессно).
 

Adelf

Administrator
Команда форума
Sphinx? :)

-~{}~ 05.02.10 17:37:

Ну там русский стемминг есть, и английский тоже ессно.
 

Drakon

Новичок
Кстати когда возникнет желание перейти на выделенный сервер - с удовольствием откажусь от phpMorphy в пользу какого-нить движка, который всё будет делать сам... Кроме Sphinx'а что посоветуете?
 
Сверху