Аналогичное решение для ссылки на stackoverflow.com: Как реализовать полнотекстовый поиск на китайском языке в PostgreSQL? .
Несмотря на это, я хотел бы предоставить решение ниже подробно на основе моего опыта и решения в Интернете. Я использую оба инструмента SCWS и zhparser в качестве решения китайского полнотекстового поиска в postgres.
20160131 Обновление:
Вы должны проверить, установлен ли у вас postgresql-server-devel- {номер версии}, потому что мы будем использовать функцию pgxs для его создания в postgresql.
Step1 : установить SCWS.
Примечательно, что - префикс = / usr / local / scws следует за . / Configure . Не только ./configure ниже в 4-й строке.
wget http://www.xunsearch.com/scws/down/scws-1.2.2.tar.bz2
tar xvjf scws-1.2.2.tar.bz2
cd scws-1.2.2
./configure --prefix=/usr/local/scws
make
make install
Чтобы проверить, успешно ли он установлен, введите следующую команду:
ls -al /usr/local/scws/lib/libscws.la
Step2 : установить zhparser
git clone https://github.com/amutu/zhparser.git
cd zhparser
SCWS_HOME=/usr/local/scws/include make && make install
20160131 Обновление:
Если вы используете Mac OS X Yosemite, указанное выше значение SCWS_HOME будет таким же. Но если вы используете Ubuntu 14.04 LTS, измените значение SCWS_HOME на / usr / local / scws .
Step3 : настройка нового расширения с помощью zhparser в Postres
Step3.1 : Войдите в свою базу данных postgres через терминал / командную строку
psql yourdatabasename
Step3.2 : Создать расширение в Postgres. Вы можете указать, какое имя словаря вы хотите.
CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION dictionarynameyouwant (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION dictionarynameyouwant ADD MAPPING FOR n,v,a,i,e,l WITH simple;
Если вы выполните описанные выше шаги, вы можете использовать функцию полнотекстового поиска Postgres в китайских / китайских словах.
Дополнительный шаг (не обязательный) в Rails для использования гема pg_search: Step4 . Настройте имя словаря в: словарь атрибут: tsearch в app/models/yourmodel.rb
class YourOwnClass < ActiveRecord::Base
...
include PgSearch
pg_search_scope :functionnameyoulike, :against => [columnsyoulike1, columnsyoulike2, ...,etc], :using => { :tsearch => {:dictionary => "dictionary name you just specified in creating a extension in postgres", blah blah blah, ..., etc} }
end
Ссылка:
1. Руководство по установке SCWS
2. Zhparser@github.com
3. Francs 'Post - Postgres полнотекстовый поиск на китайском языке с помощью zhparser и SCWS
4. Сообщение Rails365.net - полнотекстовый поиск Postgres на китайском языке с помощью гема pg_search с помощью zhparser
5. My Post на xuite.net - Сделать так, чтобы Postgres поддерживал полнотекстовый поиск на китайском / китайском