coreseek实战(二):windows下mysql数据源部分配置说明
关于coreseek在windows使用mysql数据源的配置,以及中文分词的详细说明,请参考官方文档:
mysql数据源配置:http://www.coreseek.cn/products-install/mysql/
中文分词:http://www.coreseek.cn/products-install/coreseek_mmseg/
我这里的配置根据dedecms的dede_archives/dede_addonarticle两张表来配置,只是基本的应用,还没有使用到分区段查询和增量索引等;另外,全局indexer和searchd服务这两个配置都没有修改,默认即可。只是改动了source数据源和indexer定义。如下:
#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/ #源定义
source dede
{
type = mysql #数据源类型,这里使用mysql
sql_host = localhost #mysql数据源主机地址
sql_user = root #连接到sql_host的用户名
sql_pass = 123456 #密码,不用说
sql_db = dedecmsv57gbksp1 #数据库名
sql_port = 3306 #数据库端口,mysql默认3306
sql_query_pre = SET NAMES utf8 #预查询,指定服务器返回行时使用的字符编码,必须与下面的charset_type一致 #sql_query 获取文档主查询,只能有一个主查询。它被用来从sql服务器获取文档
#sql_query 第一列id需为整数,而且必须是唯一的正整数值
#title、body、description作为字符串/文本字段,被全文索引
#不属于文档ID(第一列),以及不属于属性的列(下面sql_attr_* 设置的),都会被用于创建全文索引
sql_query = SELECT arc.id, arc.typeid, arc.typeid2, arc.click, arc.title, arc.pubdate, arc.senddate, arc.description, art.body from dede_archives as arc left join dede_addonarticle as art on arc.id=art.aid #下面是设置属性字段,通过api实例化sphinx对象后,可用setFilter进行过滤,或者按时间段来排序等
#sql_attr_uint = hit #从SQL读取到的值必须为整数
#sql_attr_timestamp = dates #从SQL读取到的值必须为整数,作为时间属性
sql_attr_uint = typeid
sql_attr_uint = typeid2
sql_attr_uint = click
sql_attr_timestamp = pubdate
sql_attr_timestamp = senddate } #index定义
index dede
{
source = dede #对应的source名称
path = var/data/dedecms #请修改为实际使用的绝对路径,例如:/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/
#Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
#mmseg.ini中文分词路径
charset_dictpath = d:/www/coreseek/etc/ #开启了该选项,则默认开启了中文分词
charset_type = zh_cn.utf-8 #取消默认的一元字符切分模式,不对中文分词产生干扰(当启用了中文分词,则不必再设置选项了)
ngram_len = 0 #启用停顿词
stopwords = D:/www/coreseek/etc/stopwords.txt
} #全局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 = var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}