首页 > 代码库 > 安装sphinx的心得和错误处理

安装sphinx的心得和错误处理

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服务啦


安装sphinx的心得和错误处理