天天看点

Ubuntu + coreseek + python + mysql (二、配置数据源和索引)

接上篇

安装好coreseek后,现在开始配置数据源和索引

在终端输入cd ~回退到根目录

然后  cd  /usr/local/coreseek/etc/csft.conf  进入配置文件(如果没有csft.conf,那就新建一个空文档,命名为csft.conf)在这个文件里,怎么配置呢,看我都已经写好了

其中,sql_user、   sql_pass、   sql_db、   sql_port、   sql_query 要根据自己的情况设置。

文件里的路径,要使用绝对路径,Ubuntu系统就是/usr/local/coreseek/....

#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/
#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库

#源定义
source mysql   #source名称
{
    type                    = mysql

    sql_host                = localhost
    sql_user                = root
    sql_pass                = admin
    sql_db                  = test
    sql_port                = 3306
    sql_query_pre           = SET NAMES utf8

    sql_query               = SELECT id, name, text FROM tb_test
                                           #sql_query第一列id需为整数
                                           #title、content作为字符串/文本字段,被全文索引
    sql_attr_uint           = id           #从SQL读取到的值必须为整数
    #sql_attr_timestamp     = date_added #从SQL读取到的值必须为整数,作为时间属性

    sql_query_info_pre      = SET NAMES utf8                                        #命令行查询时,设置正确的字符集
    sql_query_info          = SELECT * FROM tb_test WHERE id = $id  #命令行查询时,从数据库读取原始数据信息
}

#index定义
index mysql  #index名称,要和source的名称相同嘛,此处两者都为mysql
{
    source          = mysql             #对应的source名称
    path            = /usr/local/coreseek/var/data/mysql #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
    docinfo         = extern
    mlock           = 0
    morphology      = none
    min_word_len    = 1
    html_strip      = 0

    #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
    charset_dictpath   = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
    #charset_dictpath  = 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 = /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/...
    binlog_path =                                #关闭binlog日志
}      

配置好后,用终端进入coreseek目录,运行indexer和searchd,生成索引

然后就可以运行search来通过终端进行搜索了!

1. cd /usr/local/coreseek/ 进入coreseek目录

2. ./bin/indexer --all   来生成全部索引(或者./bin/indexer mysql  来生成名称为mysql的索引 )

(补充:如果写成 ./bin/indexer mysql --rotate 则表示重新生成名为mysql的索引,写成./bin/indexer --all --rotate表示重新生成全部索引)

Ubuntu + coreseek + python + mysql (二、配置数据源和索引)

3. 生成索引后,如果没有Fatal 或 erroe(warning可以不做处理),然后./bin/searchd

Ubuntu + coreseek + python + mysql (二、配置数据源和索引)