PostgreSql俄语词典gor全文搜索

时间:2015-03-11 06:22:55

标签: postgresql dictionary utf-8 sequence cyrillic

我试图在postgresql db中添加俄语词典以进行全文搜索。我'已下载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   хаться шутся        хаться"

然后尝试了其他俄罗斯语,但发生了同样的错误。我该如何处理这个错误?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试执行以下命令:

    export LC_ALL=C

我认为你有一个语言环境问题。此命令应在执行创建字典的命令的同一命令行会话中执行。