From: | "Александр В(dot) Сизов" <subs(at)arpanet(dot)ru> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | FTS, ISPELL и Ё |
Date: | 2008-12-14 23:25:07 |
Message-ID: | 494595D3.8020305@arpanet.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
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!
From | Date | Subject | |
---|---|---|---|
Next Message | Александр В. Сизов | 2008-12-15 00:10:48 | Re: FTS, ISPELL и Ё |
Previous Message | Dmitry Turin | 2008-12-09 14:46:20 | freelancers for SQL50 |