sphinx的使用1-创建索引

由于现在低版本的5.6以前的版本,并不支持全文索引,直到5.6版本才支持全文索引(mysiam),但是对于中文网站来说,mysql还不支持基于中文的全文索引.但是通过使用sphinx可以解决中文的问题.

shpinx支持各种数据库 如mysql oracle等等其他数据库,shpinx本身不支持中文,但是可以使用

添加中文包,使之能够支持中文

coreseek-3.2.14-win32就是一款基于sphinx开发的一款sphinx全文索引

在使用sphinx时 首先需要拷贝etc/目录下的csft_mysql.conf 拷贝到其他目录 一般是coreseek根目录 并且改名为

sphinx.conf

配置数据源部分

source a67movie
{
    type               = mysql        # 数据库类型
    sql_host           = localhost
    sql_user           = root
    sql_pass           =              # 数据库的密码
    sql_db             = dedecmsv57utf8sp1  # 创建索引的数据库         
    sql_port           = 3306
    # 在取数据之前要执行的SQL语句
    sql_query_pre      = SET NAMES utf8
    # 主查询:最重要的一个属性:一条SQL语句,这SQL语句取出的数据就是要创建索引的数据
    # 要为哪些数据创建索引就通过这个SQL把数据取出来
    # 要求:第一个字段必须是非负、非空、唯一数字,而且必须叫做ID
    # 一个数据源中只能有一个主查询
    sql_query          = SELECT a.id,a.title,b.juqing FROM dede_archives a LEFT JOIN dede_addon17 b ON a.id=b.aid
}

配置索引文件存放路径

# 配置生成的索引文件
# 根据:与一个数据源相对应
# 语法:index 名字
index a67movie
{
    source          = a67movie             #对应的source名称
    # 生成的索引文件存放的目录
    # 要求:目录中不能有中文
    # 注意:目录中最后一个是文件的名字
    path            = G:\cz\sphinx\coreseek-3.2.14-win32\var\data\a67movie
    docinfo         = extern
    mlock           = 0
    morphology      = none
    min_word_len    = 1
    html_strip      = 0
    # 中文包所在的目录
    charset_dictpath = G:\cz\sphinx\coreseek-3.2.14-win32\etc
    charset_type    = zh_cn.utf-8
}

全局index定义

# 配置创建索引时使用内容量、内存越快建索引越快
indexer
{
    mem_limit            = 128M
}

searchd服务定义

#searchd服务定义
searchd
{
    listen              = 9312
    read_timeout        = 5
    max_children        = 30
    # 返回数据最大的数量:最多只返回查询到的1000条记录
    max_matches            = 1000
    seamless_rotate        = 0
    preopen_indexes        = 0
    unlink_old            = 1
    pid_file = G:\cz\sphinx\coreseek-3.2.14-win32\var\log/searchd_mysql.pid  #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
    log = G:\cz\sphinx\coreseek-3.2.14-win32\var\log/searchd_mysql.log        #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
    query_log = G:\cz\sphinx\coreseek-3.2.14-win32\var\log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}

执行sphinx下的一个程序

在命令行执行:indexer.exe  -c   sphinx配置文件  -all
在命令行执行:indexer.exe  -c   sphinx配置文件  指定配置文件中索引的名字



你可能感兴趣的:(sphinx的使用1-创建索引)