The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Подскажите про htdig : русские слова ищутся, но не все"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 29-Ноя-05, 14:34  (MSK)
Поставил htdig. Пробую с его помощью сделать поиск. Делаю так:

Скачал русские словари с сайта http://scon155.phys.msu.su/~swan/orthography.html

достал их из tar и сделал им make ( предварительно поставил gmake, так как на моей машинке его не было )

Подправил conf:

database_dir:       тут каталог для базы
start_url:          тут адрес начала
limit_urls_to:      ${start_url}
exclude_urls:       /cgi-bin/ .cgi /edit/
locale:             ru_RU.CP1251
endings_affix_file: /usr/local/htdig-3.1.6/common/word.aff
endings_dictionary: /usr/local/htdig-3.1.6/common/word.dict

Дальше генерю файлы для thfuzzy ( делаю это таким скриптом ):

TMPDIR=/usr/local/htdig-3.1.6/common/tmp
COMMDIR=/usr/local/htdig-3.1.6/common
mkdir $TMPDIR
export TMPDIR
rm $TMPDIR/*

cp $COMMDIR/english.0 $COMMDIR/word.dict
cp $COMMDIR/english.aff $COMMDIR/word.aff

/usr/local/htdig-3.1.6/bin/htfuzzy -v endings

cp $COMMDIR/word2root.db  $TMPDIR
cp $COMMDIR/root2word.db  $TMPDIR

cp $COMMDIR/russian.dict $COMMDIR/word.dict
cp $COMMDIR/russian.aff $COMMDIR/word.aff

/usr/local/htdig-3.1.6/bin/htfuzzy -v endings

Дальше индексирую нужную часть сайта (тоже скрипт) :

CONF=тут путь к конфигу
BASEDIR=/usr/local/htdig-3.1.6

${BASEDIR}/bin/htdig -v -s -i -c ${CONF}
${BASEDIR}/bin/htmerge -v -s -c ${CONF}

Все проходит нормально и пробую искать. Вот тут и беда:

Ищу слово "автор", в шаблоне для вывода в переменную $(LOGICAL_WORDS) подставляется "(автор or автора or автору or автором or авторе or авторы or авторов or авторам or авторами or авторах)"

Далее ищу слово "девушка", а он (htdig) в переменной $(LOGICAL_WORDS)выводит только "девушка", вместо ожидаемых "девушка or девушкой or девушку  и т.д.". То есть ищет только такое слово, без других форм ( если ввести слово "девушку", то будет искать только такую форму слова. )

Ну не паразит ли?

Иду и смотрю русский словарь russian.dict:
.............
девушка/I
.............

Иду в russian.aff:
.............
flag *I:
#
# Первое склонение: существительные ж.р., оканчивающиеся на -а
#
    [^ГЖКХЧШЩ] А > -А,Ы # стена > стены (р.п.)
    [ГЖКХЧШЩ] А > -А,И # киска > киски (р.п.)
    А > -А,Е # стена > стене (д.п.)
    А > -А,У # стена > стену (в.п.)
    [^ЖЦЧШЩ] А > -А,ОЙ # стена > стеной (т.п.)
# устаревшая форма
    [^ЖЦЧШЩ] А > -А,ОЮ # стена > стеною (т.п.)
.............
вроде все есть.

Что еще нужно сделать, чтоб он стал искать все формы таких слов?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от SubGun emailИскать по авторуВ закладки(ok) on 29-Ноя-05, 19:08  (MSK)
Какой у тебя Apache стоит?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 30-Ноя-05, 08:48  (MSK)
>Какой у тебя Apache стоит?


apache 1.3.33
Собирал из исходников.
Кодировка отдаваемых дркументов - win

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от SubGun emailИскать по авторуВ закладки(ok) on 30-Ноя-05, 11:13  (MSK)
То есть русский апач?! Жаль. Кто бы мне подсказал, как с неруским подружить htdig? А то искать - ищет, а вот результат выводит в стремной кодировке.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 30-Ноя-05, 11:20  (MSK)
>То есть русский апач?! Жаль. Кто бы мне подсказал, как с неруским
>подружить htdig? А то искать - ищет, а вот результат выводит
>в стремной кодировке.

Как раз нерусский.

На машине документы лежат в кодировке win, сервер выдает тоже в win.
Локаль тоже ( видно в первом сообщении ) 1251

Наверное, придется в исходники htdig лезть :(
Жалко, я в C понимаю слабо :(

Расскажи, у тебя $(LOGICAL_WORDS) выдает поисковые слова в разных словоформах?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от SubGun emailИскать по авторуВ закладки(ok) on 30-Ноя-05, 13:38  (MSK)
Выдавали бы хоть в одной! :)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от SubGun emailИскать по авторуВ закладки(ok) on 01-Дек-05, 10:08  (MSK)
Фиг вам, та же фигня, мало того, что не находит нифига, так еще и лажовая кодировка.
Слушай, сделай пожалуйста ./httpd -l и скинь результат сюда.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 01-Дек-05, 10:18  (MSK)
>Слушай, сделай пожалуйста ./httpd -l и скинь результат сюда.

# bin/httpd -l
Compiled-in modules:
  http_core.c
  mod_env.c
  mod_log_config.c
  mod_mime.c
  mod_negotiation.c
  mod_status.c
  mod_include.c
  mod_autoindex.c
  mod_dir.c
  mod_cgi.c
  mod_asis.c
  mod_imap.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_access.c
  mod_auth.c
  mod_setenvif.c
  mod_php4.c

Меня на самом деле интересует, почему слово "автор" во всех словоформах ищется, а "девушка" - нет. С чем может быть связано. Тогда будет понятно, как лечить. Это хозяйство у меня дома, вечером поставлю эксперимент - надо проверить слова с разными флагами. Пришла мысль, что могут быть еще другие слова ( с другими флагами для окончаний ), которые не ищутся в разных словоформах.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от SubGun emailИскать по авторуВ закладки(ok) on 01-Дек-05, 12:02  (MSK)
Что за версия htdig?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 01-Дек-05, 13:39  (MSK)
>Что за версия htdig?

htdig-3.1.6

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от SubGun emailИскать по авторуВ закладки(ok) on 01-Дек-05, 14:38  (MSK)
Скинь, пожалуйста, на psa@pac.ru дистриб своего htdig, нигде не могу найти старую версию. Может у меня из-за версии лажа?!
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 01-Дек-05, 14:46  (MSK)
>Скинь, пожалуйста, на psa@pac.ru дистриб своего htdig, нигде не могу найти старую
>версию. Может у меня из-за версии лажа?!

Взял тут: http://www.htdig.org/where.html

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 01-Дек-05, 20:12  (MSK)
Все оказалось гораздо хуже, чем показалось с первого взгляда :(

Пробую искать такие слова и в $(LOGICAL_WORDS) получаю :

"работать" -> (работать or работатьла or работатьло or работатьли)
"описание" -> (описание or описаниеа or описаниеу or описаниеом or описаниее or описаниеы or описаниеов or описаниеам or описаниеами or описаниеах)
"новая" -> новая

Хотя в файле dict все слова есть:

работать/BLMP
описание/K
новый/AES

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner Искать по авторуВ закладки(??) on 02-Дек-05, 23:57  (MSK)
>Все оказалось гораздо хуже, чем показалось с первого взгляда :(

Кто-нибудь может поделиться файлами russian.dict и russian.aff в кодировке win и которые реально используются в поиске с использованием htdig?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Подскажите про htdig : русские слова ищутся, но не все" 
Сообщение от Beginner emailИскать по авторуВ закладки(??) on 05-Дек-05, 14:29  (MSK)
>>Все оказалось гораздо хуже, чем показалось с первого взгляда :(
>

В результате:
Беда была в том, что htfuzzy конфиг брал по умолчанию, а не тот, что я подсовывал htdig и htmerge. Поэтому там не была прописана строка:

locale:             ru_RU.CP1251

а строки :

endings_affix_file: /usr/local/htdig-3.1.6/common/word.aff
endings_dictionary: /usr/local/htdig-3.1.6/common/word.dict

были прописаны. Поэтому все как-бы работало.

Добавил строку с locale, сделал htfuzzy, как написано в первом сообщении, сразу стали выдаваться словоформы:

сделал -> сделал or сделать or сделай or сделайте or сделала or сделало or сделали or сделаю or сделаем or сделаешь or сделаете or сделает or сделают or сделав

девушка -> девушка or девушки or девушке or девушку or девушкой or девушкою or девушек or девушкам or девушками or девушках

Теперь буду ковырять его дальше на предмет выдачи не таких больших кусков страниц в результатах.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру