Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: FTS, ISPELL и Ё


  • From: "Александр В. Сизов" <subs(at)arpanet(dot)ru>
  • To: pgsql-ru-general(at)postgresql(dot)org
  • Subject: Re: FTS, ISPELL и Ё
  • Date: Mon, 15 Dec 2008 03:10:48 +0300
  • Message-id: <4945A088.1050506@arpanet.ru> <text/plain>


Немного разобрался: на слова с буквой ё срабатывает словарь 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!





Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group