使用Postgresql进行中文分词

使用Postgresql进行中文分词

安装 postgresql 数据库

解压

tar -zxvf postgresql-9.6.6.tar.gz

配置

./configure

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

yum install readline-devel

编译

make

安装

make install

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

groupadd postgres
useradd -g postgres postgres

创建数据目录

mkdir -p /data/pgdata/

添加环境变量

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

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

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

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

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

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

初始化数据库

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

添加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

用系统服务的方式启动postgresql

service postgresql start

查看postgresql的端口起来了没有

netstat -tlnp | grep 5432

设置开机启动

chkconfig postgresql on

安装分词程序

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

配置

./configure

编译

make

安装

make install

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

解压

unzip zhparser-0.1.4.zip
cd zhparser-0.1.4

编译

SCWS_HOME=/usr/local make

安装

make install

测试

进入postgres用户

su - postgres

进入pg数据库

psql

切换到postgres数据库

\c postgres

创建扩展

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;

查询分词

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

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

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...