Re: FTS, ISPELL и Ё - Mailing list pgsql-ru-general
From | Александр В. Сизов |
---|---|
Subject | Re: FTS, ISPELL и Ё |
Date | |
Msg-id | 49462CA5.1030907@arpanet.ru Whole thread Raw |
In response to | Re: FTS, ISPELL и Ё (Oleg Bartunov <oleg@sai.msu.su>) |
List | pgsql-ru-general |
спс, с translate () как-то все упростилось... )) Oleg Bartunov пишет: > Александр, руководствуйтесь здравым смыслом - что проиндексируете, то > и найдете. Никакой магии внутри у нас нет, все отдано здесь на откуп > пользовательскому словарю. Если вы хотите различать 'е' и 'ё', то > напишите > словарь-враппер (давно всем предлагаю) вокруг испелла, который > опционально > возвращает нормализованные формы и/или оригинальное слово. Его вы > используете > пи индексации, а при поиске одну из конфигураций - со словраем, который > понимает 'ё', который не понимает. Но обычно, просто используйте нечто > вроде to_tsvector(translate(string,'ё','е')) и не будет никаких проблем. > > Олег > > Олег > On Mon, 15 Dec 2008, "Александр В. Сизов" wrote: > >> 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! >> >> > > Regards, > Oleg > _____________________________________________________________ > Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), > Sternberg Astronomical Institute, Moscow University, Russia > Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ > phone: +007(495)939-16-83, +007(495)939-23-83
pgsql-ru-general by date: