Словоформы для поиска

Tronyх

Новичок
Словоформы для поиска

Кто подскажет как лучше и эффективней сделать образование словоформ при поиске?
 

Crazy

Developer
Re: Словоформы для поиска

Автор оригинала: Tronyх
Кто подскажет как лучше и эффективней сделать образование словоформ при поиске?
Грокнуть словарь ispell. Алгоритмы "вытянуть" из того же ispell и сделать модулем к PHP.
 

Tronyх

Новичок
То что я надумал: создать таблицу с одним полем в котором перечислены все словоформы для какого-нибудь слова, получать их с помощью запроса - "SELECT text FROM words WHERE text LIKE $search_word LIMIT 1", а потом explode(). Ну как?
 

Crazy

Developer
Hint: в некоторых языках бывают падежи. А то и трансормации типа "идти" -> "пошел".

Так что велкам ту гугл...
 

Доктор

Новичок
>> "SELECT text FROM words WHERE text LIKE $search_word LIMIT 1"

Интересно, а сколько реально такой запрос будет выполняться для русского, скажем, словаря с тысячами 20-ю хотя бы слов. Ведь тут и индекс не поможет. Хотя, думается, что все равно не долго все же. Но кто этот словарь составит?
 

Vasya

Guest
Хех... :)
Насколько я понял, это называется морфология. Правильно сделать морфологию, то бишь описать алгоритмы преобразования слов (со всеми исключениями) -- это работа для лингвиста. И она уже сделана и описана в учебниках по русскому языку :) Хотя вот в каком объеме?
Потом программер забивает алгоритмы в программу. Но одно дело если у тебя есть корень и надо построить по нему глагол в прошедшем времени, первом лице...
Другое дело, когда тебе надо понять что за форма , какого слова введена юзером...
Тебе нужен словарь корней слов. И правила морфологии в виде шаблонов. Смотришь какие шаблоны подходят под данное слово. Выделяешь корни. И морфишь их всеми возможными для данного корня способами. А потом ищешь в контенте все эти получившиеся пару сотен слов! :D
 
Сверху