PostgreSql Russian dict gor полнотекстовый поиск

Я попытался добавить русский словарь для полнотекстового поиска в базу данных postgresql. Я загрузил файлы dict, преобразовал их в UTF-8 и попытался создать новый dict.

$ iconv -f koi8-r -t utf-8 < ru_RU.aff > /opt/local/share/postgresql93/tsearch_data/russian.affix
$ iconv -f koi8-r -t utf-8 < ru_RU.dic > /opt/local/share/postgresql93/tsearch_data/russian.dict


CREATE TEXT SEARCH DICTIONARY russian_ispell (
   TEMPLATE = ispell,
   DictFile = russian,
   AffFile = russian,
   StopWords = russian
);

Но получил ОШИБКУ:

ERROR:  invalid byte sequence for encoding "UTF8": 0xd1
CONTEXT:  line 341 of configuration file "/opt/local/share/postgresql93/tsearch_data/russian.affix": "SFX Y   хаться шутся        хаться"

Потом попробовал с другими русскими диктовками, но вылезла та же ошибка. Как я могу справиться с этой ошибкой? Спасибо.


person user2498776    schedule 11.03.2015    source источник


Ответы (1)


Вы можете попробовать выполнить следующую команду:

    export LC_ALL=C

Я думаю, у вас проблема с локалью. Эта команда должна быть выполнена в том же сеансе командной строки, где вы выполняете команду для создания словаря.

person Artur    schedule 24.11.2015