CentOS7下sphinx搭建
2016-03-31 16:46
495 查看
更新依赖包以及安装编译环境
yum -y install m4 autoconf automake libtool
yum -y install gcc gcc-c++ wget
yum -y install mysql-devel
下载coreseek
wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
##mmseg3是一个中文分词插件
tar xzvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14
cd mmseg-3.2.14/
./bootstrap
./configure --prefix=/usr/local/mmseg3
make
make install
cd ../csft-3.2.14/
sh buildconf.sh
./configure --prefix=/usr/local/coreseek --without-python --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql --host=arm
vi src/sphinxexpr.cpp
然后将所有的T val = ExprEval ( this->m_pArg, tMatch ).....修改为
T val = this->ExprEval ( this->m_pArg, tMatch )
make
make install
cd /usr/local/coreseek/etc
进入配置目录通过命令ls可以看到3个文件
example.sql sphinx.conf.dist sphinx-min.conf.dist
其中example.sql是示例sql脚本我们将其导入到数据库中的test数据库中作为测试数据(会创建两张表 documents和tags)
=============================================================================
vi sphinx.conf
输入以下内容
source src1
{
type = mysql
sql_host
= 192.168.1.80
sql_user
= root
sql_pass
= root
sql_db
= test
sql_port
= 3306 # optional, default is 3306
sql_sock = /tmp/mysql.sock
sql_query_pre = SET NAMES utf8
sql_query
= \
SELECT * FROM area
sql_attr_uint
= group_id
sql_attr_timestamp
= date_added
sql_query_info
= SELECT * FROM area WHERE id=$id
}
index test1
{
source
= src1
path = /usr/local/coreseek/var/data/test1
docinfo
= extern
charset_type
= zh_cn.utf-8
mlock = 0
morphology
= none
min_word_len
= 1
html_strip
= 0
charset_dictpath
= /usr/local/mmseg3/etc/
ngram_len = 0
}
indexer
{
mem_limit
= 32M
}
searchd
{
port = 9312
log = /usr/local/coreseek/var/log/searchd.log
query_log
= /usr/local/coreseek/var/log/query.log
read_timeout
= 5
max_children
= 30
pid_file
= /usr/local/coreseek/var/log/searchd.pid
max_matches
= 1000
seamless_rotate
= 1
preopen_indexes
= 0
unlink_old
= 1
}
说明:
代码段source src1{***} 代表数据源里面主要包含了数据库的配置信息,src1表示数据源名字,可以随便写。
代码段index test1{***} 代表为哪个数据源创建索引,与source *** 是成对出现的,其中的source参数的值必须是某一个数据源的名字。
其他参数可以查看手册,这里不再赘述。
生成索引
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all
其中参数--all表示生成所有索引
当然也可以是索引的名字例如:/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf test1
执行后可以在/usr/local/coreseek/var/data目录中看到多出一些文件,是以索引名为文件名的不同的扩展名的文件
在不启动sphinx的情况下即可测试命令:
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf number
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf
yum -y install m4 autoconf automake libtool
yum -y install gcc gcc-c++ wget
yum -y install mysql-devel
下载coreseek
wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz
##mmseg3是一个中文分词插件
tar xzvf coreseek-3.2.14.tar.gz
cd coreseek-3.2.14
cd mmseg-3.2.14/
./bootstrap
./configure --prefix=/usr/local/mmseg3
make
make install
cd ../csft-3.2.14/
sh buildconf.sh
./configure --prefix=/usr/local/coreseek --without-python --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysql --host=arm
vi src/sphinxexpr.cpp
然后将所有的T val = ExprEval ( this->m_pArg, tMatch ).....修改为
T val = this->ExprEval ( this->m_pArg, tMatch )
make
make install
cd /usr/local/coreseek/etc
进入配置目录通过命令ls可以看到3个文件
example.sql sphinx.conf.dist sphinx-min.conf.dist
其中example.sql是示例sql脚本我们将其导入到数据库中的test数据库中作为测试数据(会创建两张表 documents和tags)
=============================================================================
vi sphinx.conf
输入以下内容
source src1
{
type = mysql
sql_host
= 192.168.1.80
sql_user
= root
sql_pass
= root
sql_db
= test
sql_port
= 3306 # optional, default is 3306
sql_sock = /tmp/mysql.sock
sql_query_pre = SET NAMES utf8
sql_query
= \
SELECT * FROM area
sql_attr_uint
= group_id
sql_attr_timestamp
= date_added
sql_query_info
= SELECT * FROM area WHERE id=$id
}
index test1
{
source
= src1
path = /usr/local/coreseek/var/data/test1
docinfo
= extern
charset_type
= zh_cn.utf-8
mlock = 0
morphology
= none
min_word_len
= 1
html_strip
= 0
charset_dictpath
= /usr/local/mmseg3/etc/
ngram_len = 0
}
indexer
{
mem_limit
= 32M
}
searchd
{
port = 9312
log = /usr/local/coreseek/var/log/searchd.log
query_log
= /usr/local/coreseek/var/log/query.log
read_timeout
= 5
max_children
= 30
pid_file
= /usr/local/coreseek/var/log/searchd.pid
max_matches
= 1000
seamless_rotate
= 1
preopen_indexes
= 0
unlink_old
= 1
}
说明:
代码段source src1{***} 代表数据源里面主要包含了数据库的配置信息,src1表示数据源名字,可以随便写。
代码段index test1{***} 代表为哪个数据源创建索引,与source *** 是成对出现的,其中的source参数的值必须是某一个数据源的名字。
其他参数可以查看手册,这里不再赘述。
生成索引
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf --all
其中参数--all表示生成所有索引
当然也可以是索引的名字例如:/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/sphinx.conf test1
执行后可以在/usr/local/coreseek/var/data目录中看到多出一些文件,是以索引名为文件名的不同的扩展名的文件
在不启动sphinx的情况下即可测试命令:
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf number
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/sphinx.conf
相关文章推荐
- 一个关于if else容易迷惑的问题
- Linux socket 初步
- 小心服务器内存居高不下的元凶--WebAPI服务
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap