Модуль морфологического поиска (stemming) для русского языка

Прислано: Algenon

чт, 21/09/2006 - 16:21

Другие статьи по теме:

Модуль rustemmer добавляет возможность морфологического поиска (stemming) в Drupal при использовании стандартного модуля search. Морфологический поиск позволяет искать информацию на сайте не только по строго заданному слову, но и по всем его морфологическим формам.

Для установки модуля скачайте прилагающийся файл и следуйте инструкциям из файла install.txt.

Алгоритм вычленения основы (stem) слова предоставлен доктором Мартином Портером (snowball.tartarus.org):
ссылка.

Реализация алгоритма на PHP предоставлена Дмитрием Котеровым (dklab.ru):
ссылка.

Адаптация реализации для работы с Drupal - Algenon (4algenon at gmail.com).

UPD - Version 0.02
Исправлен баг с некорректной индексацией.

UPD - Version 0.03
В сочетании с измененным модулем search.module (для drupal 4.7.3) выделяет жирным измененные формы слова в результатах поиска.
Для работы:
1. установите модуль rustemmer из архива rustemmer_003.zip
2. замените существующий search.module на соответствующий файл из архива search.zip (если у вас drupal 4.7.3). Если у вас другая версия drupal, изменения в модуль search необходимо внести самостоятельно.

Прикрепленный файлРазмер
rustemmer_002.zip9.79 кб
rustemmer_003.zip9.83 кб
search.zip14.77 кб

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано dyp@drupal.org в чт, 21/09/2006 - 16:23.

fantastish


Опубликовано B.X в чт, 21/09/2006 - 16:52.

почему никто не открывает проекты на drupal.org? Интересно... можно было бы сюда тоже модуль project тогда поставить...


Опубликовано romantaran в чт, 21/09/2006 - 19:31.

не знаю. у меня с этим модулем поиск работает так же, как раньше


Опубликовано Algenon в чт, 21/09/2006 - 21:52.

А вы не забыли переиндексировать содержимое сайта?


Опубликовано Shelendor в пт, 22/09/2006 - 00:49.

ух ты!!! работает! :) спасибо!


Опубликовано Flinblo в пт, 22/09/2006 - 05:38.

Спасибо.


Опубликовано romantaran в пт, 22/09/2006 - 07:05.

> А вы не забыли переиндексировать содержимое сайта?

По крайней мере, я жал кнопку "Переиндексировать" и сейчас Друпал показывает, что сайт проиндексирован на 100%.

Тем не менее, если я ввожу, напр., слово композиция, то композициям находится, а композиции — нет, хотя такая форма слова точно имеется.


Опубликовано romantaran в пт, 22/09/2006 - 07:07.

Попробую еще раз. Если у других работает…


Опубликовано Algenon в пт, 22/09/2006 - 11:29.

Проверил - действительно, у меня поиск тоже не всегда работает корректно.

Как можно проверить: посмотрите содержимое таблицы search_index. Если встречаются кракозябры, значит индексация прошла некорректно.
Как исправить: установить новую версию модуля.
Чем вызван баг: ошибка была вызвана strtr($words, 'ё','е'), т.е. заменой всех 'ё' на 'е'. По непонятным причинам при выполнении такой замены происходит "коверканье" слов.


Опубликовано romantaran в пт, 22/09/2006 - 21:17.

Спасибо! Работает. Только не выделяет жирным измененные формы слова.


Опубликовано Algenon в сб, 23/09/2006 - 13:42.

За форматирование результатов поиска (втч и выделение жирным) отвечает функция search_excerpt, входящая в состав модуля search. Я не вижу способа перегрузить ее, так что, похоже, единственный способ - вносить изменения непосредственно в модуль search.
Если хотите, можете загрузить исправленный модуль search, на свой страх и риск :) у меня работает :)


Опубликовано Shelendor в пн, 05/02/2007 - 13:32.

А можно как-то этот модуль использовать в 5 версии? А то проблема морфологического поиска ведь никуда не делась...


Опубликовано podarok (гостевой логин) в вт, 20/05/2008 - 14:35.

http://my.ukrweb.info/rustemmer-drupal-6

Для шестого друпала (оттестил на 6.2)
Без подсветки!


Опубликовано podarok (гостевой логин) в ср, 21/05/2008 - 10:25.

Там же и для пятой положил


Опубликовано ProMax в вт, 27/05/2008 - 00:23.

а у меня вообще поиск не работает не знаю в чем дело , вернее догадываюсь , нажимаю проиндексировать сайт , а он почему то не индексирует , после индексации выдает что проидексировано 0% в чем дело кто подскажет ?


Опубликовано podarok (гостевой логин) в ср, 04/06/2008 - 07:30.

ProMax написал(а):

а у меня вообще поиск не работает не знаю в чем дело , вернее догадываюсь , нажимаю проиндексировать сайт , а он почему то не индексирует , после индексации выдает что проидексировано 0% в чем дело кто подскажет ?

запусти крон


Опубликовано saken в чт, 05/06/2008 - 18:33.

>2. замените существующий search.module на соответствующий файл из архива search.zip (если у вас drupal 4.7.3). Если у вас другая версия drupal, изменения в модуль search необходимо внести самостоятельно.

у меня версия 5.5
что где поменять?


Опубликовано kiev1 в сб, 11/10/2008 - 22:53.

а для 6-го друпала что посоветуете?


Опубликовано RedRat в чт, 13/11/2008 - 08:51.

kiev1 написал(а):

а для 6-го друпала что посоветуете?

podarok выше уже выкладывал.


Опубликовано Dimm в вс, 14/12/2008 - 16:38.

Спасибо!!!


Опубликовано neochief в вс, 20/09/2009 - 23:29.

Все здесь в комментах: http://drupal.ru/node/3753


Новое на сайте

Ссылки партнёров