- coreseek官网(http://www.coreseek.cn/)已经关闭。
- 可参考手册:https://my.oschina.net/alexwu/blog/71155
- coreseek是中文版的sphinx
安装步骤
1.在安装coreseek之前确保在系统安装了LNMP/LAMP环境。
2.安装依赖软件
yum install gcc make gcc-c libtool autoconf automake imakemysql-devel libxml2-devel expat-devel
3.将下载好的安装包上传到opt目录,执行解压命令,解压完成后进入目录
tar xzvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14
4.将会看到3个目录分别是csft-3.2.14、mmseg-3.2.14、testpack,其中csft实际就是sphinx安装包,mmseg为中文分词安装包,testpack是安装完coreseek后测试用的。
首先安装中文分词mmseg
cd mmseg-3.2.14 ./bootstrap
./configure --prefix=/usr/local/mmseg/
之后报错error: cannot find input file: src/Makefile.in
5.执行编译并安装mmseg
make && make install
6.到这里mmseg安装完毕
测试mmseg
可以测试下中文分词,运行如下命令:
cd testpack
cat var/test/test.xml #此时应该正确显示中文
/usr/local/mmseg3/bin/mmseg -d/usr/local/mmseg3/etc var/test/test.xml #整篇文章进行分词
或者
echo '我们是中国人'>1.txt
/usr/local/mmseg/bin/mmseg -d /usr/local/mmseg/etc 1.txt
接下来安装coreseek
1. 进入coresek文件夹,运行命令 cd ../csft-3.2.14或者4.1
2.运行命令 sh buildconf.sh
生成configure可执行文件,如果当前目录已存在configure文件会发出警告:已存在其它版本autoconf,但不能保证能正常工作,如果出现任何问题,建议重新生成
3.运行命令 注意:3.2.4的文件夹是mmseg,4.1的文件夹是mmseg3
./configure --prefix=/usr/local/coreseek
--without-unixodbc
--with-mmseg=/usr/local/mmseg
--with-mmseg-includes=/usr/local/mmseg/include/mmseg/
--with-mmseg-libs=/usr/local/mmseg/lib/
--with-mysql
或者
./configure --prefix=/usr/local/coreseek --without-unixodbc--with-mmseg=/usr/local/mmseg--with-mmseg-includes=/usr/local/mmseg/include/mmseg/--with-mmseg-libs=/usr/local/mmseg/lib/ --with-mysql
4.运行命令 make && make install
之后,报错
5.进入/usr/local 有文件夹 coreseek,, mmseg 说明创建成功
到此coreseek就全部安装完成了
6.修改配置文件csft.conf 或者忽略下面步骤,直接把已经配置好的文件替换csft.conf
A》coreseek- 按照如下abc步骤 安装完毕后注意 coreseek 中的配置文件也是csft.conf 而不是 sphinx.conf
- 运行命令,创建csft.conf文件
cd /usr/local/coreseek/etc
cp sphinx.conf.dist csft.conf
vim csft.conf
b。在csft.conf 中添加下面这两行,意思是把中文分词加入到配置文件中
c.运行命令 vi /usr/local/coreseek/etc/csft.conf
在vi下搜索 /sql_host(mysql连接信息)
sql_host = localhost //服务器名
sql_user = //数据库账户
sql_pass = //数据库密码
sql_db = //使用sphinx库名
sql_port = 3306 # optional, default is3306 设置mysql配置红色部分,改成自己的数据库
打开下面配置的注释
sql_query_pre = SET NAMES utf8
B》然后参考http://www.cnblogs.com/xiaokai0203/p/5728507.html里的配置修改
7.测试一下coreseek 相关命令
创建索引数据(indexer)
运行indexer 为你的数据创建全文索引:
/usr/local/coreseek/bin/indexer-c /usr/local/coreseek/etc/csft.conf // 第一次创建索引
已启动服务,要更新索引
/usr/local/coreseek/bin/indexer -c/usr/local/coreseek/etc/csft.conf --all --rotate // 第二次创建所以(当我们第一次创建索引之后,对数据表做了新的操作再按照上面的方式生成索引是会多增加一个参数 rotate)
每次数据增加数据,必须重新建立索引
可选操作: crontab -e */1 * * * * /bin/sh /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf delta --rotate*/5 * * * * /bin/sh /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --merge main delta --rotate --merge-dst-range deleted 0 030 1 * * * /bin/sh /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all --rotate 以上任务计划的意思是:每隔一分钟执行一遍增量索引,每五分钟执行一遍合并索引,每天1:30执行整体索引。 |
---|
运行 /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft.conf
在secureCRT检索你新创建的索引
使用search(注意,是search而不是searchd)命令行对索引进行检索
运行命令: /usr/local/coreseek/bin/search 大屏