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

FTS, ISPELL и Ё

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 (view raw or flat)
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!

Responses

pgsql-ru-general by date

Next:From: Александр В. СизовDate: 2008-12-15 00:10:48
Subject: Re: FTS, ISPELL и Ё
Previous:From: Dmitry TurinDate: 2008-12-09 14:46:20
Subject: freelancers for SQL50

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group