Ubuntu + coreseek + python + mysql (二、配置数据源和索引)
原创
©著作权归作者所有:来自51CTO博客作者mb6304a73bed12a的原创作品,请联系作者获取转载授权,否则将追究法律责任
接上篇
安装好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表示重新生成全部索引)
3. 生成索引后,如果没有Fatal 或 erroe(warning可以不做处理),然后./bin/searchd
4. 然后./bin/search 加上后面输入想搜索的内容,就可以在终端实现搜索了