sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索。可以加快数据库的查询。下面简单介绍下在php环境下安装sphinx的步骤。
首先得下载sphinx的安装文件,这个在官网就可以下载到。解压缩,找到etc目录,里面的csft_mysql.conf,复制到sphinx根目录下,改成自己的名字(任意),打开
内容如下:
#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/
#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库
#源定义
source goods
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = xiaomi
sql_port = 3306
sql_query_pre = SET NAMES utf8
#主查询,要为哪些数据建索引就使用一条sql语句把数据取出来
sql_query = SELECT gid, title, num,s_img,discount,nowprice,price FROM goods
}
#index定义,一个数据源对应一个index
index goods
{
source = goods #对应的source名称
path = E:\xampp\htdocs\xiaomi\coreseek-3.2.14-win32\var\data\goods #最后的goods为文件名
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0
#中文分词词库文件
#charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
charset_dictpath = E:\xampp\htdocs\xiaomi\coreseek-3.2.14-win32\etc #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
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 = E:\xampp\htdocs\xiaomi\coreseek-3.2.14-win32\var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = E:\xampp\htdocs\xiaomi\coreseek-3.2.14-win32\var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = E:\xampp\htdocs\xiaomi\coreseek-3.2.14-win32\var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}
source定义的是建立索引的源,定义数据库,端口,密码等,indes则建立索引,定义表,要建立索引的字段,索引的名字,search则定义最终服务的配置,最后三个目录的路径一定要定义绝对路径。
然后,进入bin目录,indexer.exe用户建立索引,命令indexer.exe -c (输入配置文件.conf的绝对路径) (索引名自定义),括号输入命令时要去掉,
searchd.exe用于创建服务,命令:searchd.exe --install --config (输入配置文件.conf的绝对路径),括号处理方式同上,最后在windows服务里找到searchd开启就可以运行sphinx服务啦
原文地址:http://fxm1994911.blog.51cto.com/7746404/1855448