Sphinx中通过mysql客户端访问Sphinx,实现实时索引,需要注意的要点

Sphinx中通过mysql客户端访问Sphinx,实现实时索引,需要注意的要点

最近在学习Sphinx搜索,尤其是学习SphinxQL时,最为一名新手,走了不少弯路,现在特此写下一点心得,以备不时之需。首先需要在数据源中设置一下即可。即在定义searchd服务中设置监听MySQL的端口listen=127.0.0.1:9306:mysql41这样就可以了,其他的都一样。
#searchd服务定义
searchd
{
 #   listen                  =   9312
    listen		    =   127.0.0.1:9306:mysql41
#    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/...
}
接下来就是在命令行中输入命令 searchd -c sphinx.conf --console 就可以了。记住前往不要启动索引,也就是不要输入命令indexer -c sphinx.conf 这个命令,我就是被这个命令害惨了,每次都先启动indexer然后启动搜索服务,这样就不能用SphinxQL进行实时索引。
接下来就是在命令行中输入 mysql -P 9306 -h 127.0.0.1 然后使用SphinxQL进行查询就ok了。
ps:为了解决这个问题,我查了2天资料才发现这个点。

你可能感兴趣的:(以备不时之需~!)