Re: FTS, ISPELL и Ё
От | Александр В. Сизов |
---|---|
Тема | Re: FTS, ISPELL и Ё |
Дата | |
Msg-id | 4945A088.1050506@arpanet.ru обсуждение исходный текст |
Ответ на | FTS, ISPELL и Ё ("Александр В. Сизов"<subs@arpanet.ru>) |
Список | pgsql-ru-general |
Немного разобрался: на слова с буквой ё срабатывает словарь russian_stem. Теперь как сделать чтобы ёж == еж ? )) Александр В. Сизов пишет: > Hello, world! > > Решил поэкспериментировать в FreeBSD6.3 под PostgreSQL 8.3.5 (+ICU) с > FTS. В качестве словаря выбрал Ispell 0.99g5, собрал с поддержкой 'ё'. > Сразу возникла проблема: 'самолёт' @@ 'самолет' = false. Ок, > пересобрал без поддержки 'ё' => 'самолёт' @@ 'самолет' = false. Ок, > собрал, распарсил, вырезал ё руками (ни в одной строчке не оставил > 'ё') - 'самолёт' @@ 'самолет' = false, при этом 'самолёты', > 'самолётами', ... нормально приводятся к каноническому виду (как???). > Привожу код: > > -------------------------------------------------------- CUT > CREATE SCHEMA library; > > CREATE TEXT SEARCH DICTIONARY library.ispell_ru ( > TEMPLATE = ispell, > DictFile = ispell_ru, > AffFile = ispell_ru, > StopWords = russian > ); > > CREATE TEXT SEARCH CONFIGURATION library.russian ( > COPY = russian > ); > > ALTER TEXT SEARCH CONFIGURATION library.russian > ALTER MAPPING FOR hword, hword_part, word > WITH library.ispell_ru, russian_stem; > > ALTER TEXT SEARCH CONFIGURATION library.russian > DROP MAPPING FOR > email, > file, > float, > host, > sfloat, > url, > url_path, > version; > > -------------------------------------------------------- CUT > > На время, чтобы на долго не застревать, написал функции, подменяющие > ё->е в поиске и записи в БД, но хотелось бы понять и решить проблему... > > WBR! >
В списке pgsql-ru-general по дате отправления: