coreseek配置使用全过程记录

2017-08-24 11:50:53

    首先,我们需要建立一个数据库帐号专供sphinx使用,并且给它只读权限。

GRANT SELECT ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

    然后在coreseek相应目录,如/usr/local/coreseek/etc下建立配置文件csft.conf,放一个本站使用中的配置

#
# Minimal Sphinx configuration sample (clean, simple, functional)
#

source articles
{
	type			= mysql

	sql_host		= localhost
	sql_user		= your_user
	sql_pass		= your_password
	sql_db			= your_database
	sql_port		= 3306	# optional, default is 3306
	sql_query_pre           = SET NAMES utf8 

	sql_query		= SELECT id,title from your_table


	sql_query_info		= SELECT id FROM your_table WHERE id=$id
}

source autoArticles
{
        type                    = mysql

        sql_host		= localhost
	sql_user		= your_user
	sql_pass		= your_password
	sql_db			= your_database
        sql_port                = 3306  # optional, default is 3306
        sql_query_pre           = SET NAMES utf8

        sql_query               = SELECT id,title from your_table


        sql_query_info          = SELECT id FROM your_table WHERE id=$id
}

index articles
{
	source			= articles
	path			= /usr/local/coreseek/var/data/articles
	charset_type        = zh_cn.utf-8 
	charset_dictpath = /usr/local/mmseg/etc/
}

index autoArticles
{
        source                  = autoArticles
        path                    = /usr/local/coreseek/var/data/autoArticles
        charset_type        = zh_cn.utf-8
        charset_dictpath = /usr/local/mmseg/etc/
}



indexer
{
	mem_limit		= 32M
}


searchd
{
	listen			= 9312
	listen			= 9306:mysql41
	log			= /home/wwwlogs/sphinx/searchd.log
	query_log		= /home/wwwlogs/sphinx/query.log
	read_timeout		= 5
	max_children		= 30
	pid_file		= /home/wwwlogs/sphinx/searchd.pid
	max_matches		= 1000
	seamless_rotate		= 1
	preopen_indexes		= 1
	unlink_old		= 1
	workers			= threads # for RT to work
}

    很简单,凑合看吧。

    然后进入/usr/local/coreseek/bin文件夹,执行

./indexer --all --rotate

    命令,看是否能正常生成索引。没有问题的话,启动服务

./searchd

    加入开机自动运行命令

   

vim /etc/rc.local
/usr/local/coreseek/bin/searchd

    加入定时计划,每天重建一次索引

crontab -e
加入
0 0 */1 * *  /usr/local/coreseek/bin/indexer --all --rotate

    这样php就可以愉快的使用sphinx了