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约塞米蒂,SCWS_HOME的上述值相同。但是如果您使用Ubuntu 14.04 LTS,请将SCWS_HOME的值更改为/usr/local/scws。 Step 3:在Postres中使用zhparser配置新扩展 步骤3.1:通过终端/命令行登录您的postgres数据库
psql yourdatabasename
步骤3.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 gem的额外步骤(不必要):Step 4.在app/models/yourmodel.rb中配置:tsearch的dictionary name at:dictionary属性
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
cd textsearch_ja-9.0.0
make USE_PGXS=1 PG_CONFIG=/usr/lib/postgresql/12/bin/pg_config
sudo make USE_PGXS=1 PG_CONFIG=/usr/lib/postgresql/12/bin/pg_config install
SET
BEGIN
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE TEXT SEARCH PARSER
COMMENT
CREATE FUNCTION
CREATE TEXT SEARCH TEMPLATE
CREATE TEXT SEARCH DICTIONARY
CREATE TEXT SEARCH CONFIGURATION
COMMENT
ALTER TEXT SEARCH CONFIGURATION
ALTER TEXT SEARCH CONFIGURATION
ALTER TEXT SEARCH CONFIGURATION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
COMMIT
4条答案
按热度按时间1bqhqjot1#
关于manual的一点提示:OpenOffice Wiki上有一个很大的字典列表。
bz4sfanl2#
字典对你的中文不会有太大的帮助--你需要看看NGRAM标记。
guykilcj3#
www.example.com上的link的类似解决方案stackoverflow.com是How do I implement full text search in Chinese on PostgreSQL?。
尽管如此,我还是会根据我的经验和互联网上的解决方案提供以下详细的解决方案。我使用SCWS和zhparser两个工具作为postgres中文全文检索的解决方案。
20160131更新:
Step1:安装SCWS。
值得注意的是,--prefix=/usr/local/scws跟在**./configure**后面。不只是有./configure沿着下面的第四行。
要检查是否安装成功,请输入以下命令:
Step2:安装zhparser
**20160131更新:**如果使用Mac OS X约塞米蒂,SCWS_HOME的上述值相同。但是如果您使用Ubuntu 14.04 LTS,请将SCWS_HOME的值更改为/usr/local/scws。
Step 3:在Postres中使用zhparser配置新扩展
步骤3.1:通过终端/命令行登录您的postgres数据库
步骤3.2:在Postgres中创建扩展。您可以指定您想要的字典名称。
如果你按照上面的步骤操作,你就可以使用Postgres的中文/普通话全文搜索功能了。
Rails中使用pg_search gem的额外步骤(不必要):Step 4.在
app/models/yourmodel.rb
中配置:tsearch的dictionary name at:dictionary属性参考文献:
bakd9h0s4#
对于那些登陆这里进行日语PostgreSQL全文搜索的人,这里是在ubuntu上进行搜索的方法:
安装以下软件和开发环境:
从https://www.postgresql.org/ftp/projects/pgFoundry/textsearch-ja/textsearch_ja/9.0.0/下载textsearch_ja
以下是针对使用PostgreSQL版本12的用户:
这将产生类似于:
然后,在自动生成的textsearch_ja. sql中,将
LANGUAGE='C'
更改为LANGUAGE='c'
(小写):然后,您可以使用超级用户将其添加到PostgreSQL:
如果您想为现有数据库添加它:
这将产生类似于:
要测试它,请按照https://github.com/HiraokaHyperTools/textsearch_ja
将产生:
将产生:
将产生:
将产生:
将产生:
将产生:
将产生: