使用Postgresql进行中文分词

前端之家收集整理的这篇文章主要介绍了使用Postgresql进行中文分词前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用Postgresql进行中文分词

安装 postgresql 数据库

解压

tar -zxvf postgresql-9.6.6.tar.gz@H_301_7@

配置

./configure@H_301_7@

可能会缺少这个依赖,安装readline开发包

yum install readline-devel@H_301_7@

编译

make@H_301_7@

安装

make install@H_301_7@

添加postgres用户并加入到postgres用户

groupadd postgres
useradd -g postgres postgres@H_301_7@

创建数据目录

mkdir -p /data/pgdata/@H_301_7@

添加环境变量

方法一,在root和postgres用户下分别执行(重启机器后失效)

export PATH=/usr/local/pgsql/bin:$PATH@H_301_7@

方法二,在root和postgres用户下分别执行(永久生效)

vim ~/.bash_profile
再最后边追加
export PATH=/usr/local/pgsql/bin:$PATH@H_301_7@

修改数据目录和pg程序目录的权限

chown postgres:postgres /data/pgdata/
chown postgres:postgres /usr/local/pgsql/@H_301_7@

初始化数据库

su - postgres
/usr/local/pgsql/bin/initdb -D /data/pgdata/@H_301_7@

添加postgresql到系统服务

vim postgresql-9.6.6/contrib/start-scripts/linux
PGDATA=”/data/pgdata/”
chmod a+x postgresql-9.6.6/contrib/start-scripts/linux
cp postgresql-9.6.6/contrib/start-scripts/linux /etc/init.d/postgresql@H_301_7@

用系统服务的方式启动postgresql

service postgresql start@H_301_7@

查看postgresql的端口起来了没有

netstat -tlnp | grep 5432@H_301_7@

设置开机启动

chkconfig postgresql on@H_301_7@

安装分词程序

tar -jxvf scws-1.2.3.tar.bz2
cd scws-1.2.3/@H_301_7@

配置

./configure@H_301_7@

编译

make@H_301_7@

安装

make install@H_301_7@

安装postgresql的分词插件,这个插件依赖scws程序

解压

unzip zhparser-0.1.4.zip
cd zhparser-0.1.4@H_301_7@

编译

SCWS_HOME=/usr/local make@H_301_7@

安装

make install@H_301_7@

测试

进入postgres用户

su - postgres@H_301_7@

进入pg数据库

psql@H_301_7@

切换到postgres数据库

\c postgres@H_301_7@

创建扩展

CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;@H_301_7@

查询分词

SELECT to_tsvector(‘testzhcfg’,’南京市长江大桥’);
@H_301_7@

ps:分词的粒度可以从配置中调整。

猜你在找的Postgre SQL相关文章