linux系统环境下搭建coreseek(+mmseg3) (good)
1、下载并解压coreseek软件,操作命令如下:
wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
说明:文件下载在系统当前目录中
tar xzvf coreseek-3.2.14.tar.gz
说明:文件解压在系统当前目录中
cd coreseek-3.2.14
2、安装coreseek
2.1、安装mmseg3
cd mmseg-3.2.14
说明:进入mmseg3安装目录
./bootstrap
./configure --prefix=/usr/local/mmseg3
make && make install
说明:输出的warning信息可以忽略,如果出现error则需要解决
遇到的问题:
error: cannot find input file: src/Makefile.in
或者遇到其他类似error错误时...
解决方案:
依次执行下面的命令,如果运行'aclocal'时又出现了错误,解决方案看下文描述
yum -y install libtool
aclocal
libtoolize --force
automake --add-missing
autoconf
autoheader
make clean
cd .. #退出mmseg3安装目录
安装好'libtool'继续从'aclocal'开始执行上面提到的一串命令,执行完后再运行最开始的安装流程即可。
2.2、安装coreseek
cd csft-3.2.14
sh buildconf.sh
说明:输出的warning信息可以忽略,如果出现error则需要解决
./configure --prefix=/usr/local/coreseek --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql=/usr/local/mysql
说明:如果提示mysql问题,可以查看MySQL数据源安装说明 http://www.coreseek.cn/product_install/install_on_bsd_linux/#mysql
make && make install
cd .. #退出csft-3.2.14目录
出现这个 xmlpipe2 support NOT compiled in. To use xmlpipe2, install missing XML libra 错误执行以下命令:
yum -y install expat expat-devel
依次安装后,从新安装coreseek,然后再生成索引,就可以通过了。
3、coreseek系统配置执行
3.1、创建配置sphinx与mysql的配置文件
安装完成后:进入coreseek-3.2.14/testpack/etc目录中的csft_msyql.conf文件,建议下载到本地修改,设置如下:
#源定义
source mysql
{
type = mysql #源的名称
sql_host = localhost #服务器地址
sql_user = root #数据库帐户
sql_pass = 123456 #数据库密码
sql_db = buy #数据库名称
sql_port = 3306 #数据库访问端口
sql_query_pre= SET NAMES utf8 #数据库访问编码
sql_query=SELECT ProductID as productid,ClassID as classid,UNIX_TIMESTAMP(AddTime) AS date_added ,ProductTitle as producttitle,TyNames as tynames,ProductBatch as productbatch,CompanyTitle as companytitle FROM products
#sql_query第一列productid需为整数
# producttitle、productbatch、tynames、companytitle作为字符串/文本字段,被全文索引
sql_attr_uint = classid #从SQL读取到的值必须为整数
sql_attr_timestamp = date_added
#从SQL读取到的值必须为整数,作为时间属性
sql_query_info_pre=SET NAMES utf8 #命令行查询时,设置正确的字符集
sql_query_info= SELECT * FROM products WHERE ProductID=$id
#命令行查询时,从数据库读取原始数据信息
}
#index定义
index mysql
{
source = mysql #对应的source名称
path = /usr/local/coreseek/var/data
#请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0
#中文分词配置,详情请查看:
charset_type = zh_cn.utf-8
}
#全局index定义
indexer
{
mem_limit = 128M
}
#searchd服务定义
searchd
{
listen = 9312
read_timeout = 5
max_children = 30
max_matches = 1000
seamless_rotate = 0
preopen_indexes = 0
unlink_old = 1
pid_file = /usr/local/coreseek/var/log/searchd_mysql.pid
#请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = /usr/local/coreseek/var/log/searchd_mysql.log
#请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = /usr/local/coreseek/var/log/query_mysql.log
#请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}
3.2、中文分词核心配置
3.2.2、生成分词库 (注意 mmseg的位置)
/usr/local/mmseg3/bin/mmseg -u /usr/local/mmseg3/etc/thesaurus.txt
说明:生成一个thesaurus.txt.uni文件,改名为uni.lib即可,thesaurus.txt必须为UTF-8格式,内容编写规则请查看官方文档。
3.3、生成索引
3.3.1、执行索引(查询、测试前必须执行一次)
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all --rotate
3.4、启动守护程序
3.4.1、启动后台服务(必须开启)
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf
3.4.2、关闭后台服务
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf --stop
3.43 查找服务
/usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/csft_mysql.conf -a 衬衣
四、设置coreseek开机自动后台运行
vi /etc/rc.d/rc.local #编辑,在最后一行添加下面的代码
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/csft_mysql.conf
:wq! #保存退出
3.5、自动化命令
crontab -e
30 1 * * * /bin/sh /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft_mysql.conf --all --rotate
说明:以下任务计划的意思是:每天1:30执行整体索引。
linux系统环境下搭建coreseek(+mmseg3) (good)的更多相关文章
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- 在Linux 环境下搭建 JDK 和 Tomcat
在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html [JDK安装] 1.首先下载 ...
- Linux系统环境下Tomcat8、httpd、mysql8开机自启动配置
Linux系统环境下Tomcat8.httpd.mysql8开机自启动配置: 相关命令:chkconfig 参考链接:https://jingyan.baidu.com/article/6525d4b ...
- ZT Linux系统环境下的Socket编程详细解析
Linux系统环境下的Socket编程详细解析 来自: http://blog.163.com/jiangh_1982/blog/static/121950520082881457775/ 什么是So ...
- Linux环境下搭建禅道管理工具-包含软件资源
Linux环境下搭建禅道管理工具 1:百度云盘下载: 禅道--链接: https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操 ...
- Linux系统环境下MySQL数据库源代码的安装
Linux系统环境下MySQL数据库源代码的安装 基本环境:CentOS Linux release 7.8.2003 (Core).MySQL5.6 一. 安装环境准备 若要在Linux系 ...
- linux系统下搭建自己的web服务器
之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...
- linux环境下搭建环境发布web项目
在公司真是学习了一下项目环境在linux下搭建和发布的过程,这是每个程序员都应该掌握的一个技能,将整理下为以后温习用,也乐于和为掌握这些技能的猿分享: 这里主要分为5部分:1.安装jdk,并配置环境变 ...
- Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...
随机推荐
- Maven-百度百科
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Maven 的缺省构建 ...
- Jeewx 捷微管家操作配置文档(开源版本号)
1.1.1. 公众帐号管理 (1)捷微是第三方微信公众帐号管理平台,使用本平台前,请自行注冊申请微信公众帐号,操作流程请參照百度经验[怎样注冊微信公众帐号]: http://jingyan.baid ...
- 【Excle】如何隐藏数据透视表中的错误值
如下:数据透视表出现错误 怎么解决呢 步骤 方法① 单击数据透视表任意单元格→数据透视表工具→分析→选项→勾选"对于错误值显示"→确定 方法② 右键→数据透视表选项(同样可以修改)
- 关于汉诺塔,C++代码,代码效果演算
1.故事介绍 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上依照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘 ...
- 利用CFAbsoluteTimeGetCurrent()计算时间差
开发中,遇到计算时间差的问题,利用CFAbsoluteTimeGetCurrent()可以很方便的进行计算 实例: 场景:类似购物车中修改商品数量的功能,如下图所示,要求,修改完的数量,要同步到服务器 ...
- webAPI 405
web.config 配置 <system.webServer> <modules> <remove name="WebDAVModule" /> ...
- Windows下UEFI环境的搭建
Windows下UEFI环境的搭建 一.环境准备 1. 安装2012及以上VS https://visualstudio.microsoft.com/ 2.下载NASM 2.13.03 http:/ ...
- HTML_<select>
1.设置select只读不可编辑且select的值可传递 (1) <select onfocus="this.defaultIndex=this.selectedIndex;" ...
- oracle浅析导致数据库性能问题的常见原因
㈠ 不合理的大表全表扫描 详见:点击打开链接 v$session_longops视图记录了超过6秒的所有SQL语句 这其中绝大部是全表扫描的语句! ㈡ 语句共享性不好 常出没在OLTP, ...
- iOS GCD倒计时
GCD倒计时的好处在于不用考虑是否定时器无法释放的问题,runloop的问题,还有精度更加高 使用GCD创建定时器方法 -(void)startCountDown:(NSInteger)maxTime ...