Mar 11

同一机子 sphinx 启动多个searchd的方法 不指定

phpcto , 14:48 , WEB技术 » WEBSERVER , 评论(0) , 引用(0) , 阅读(230319) , Via 本站原创 | |
要在同一机器上启动多个sphinx搜索进程searchd,必须为不同的进程指定不同的配置文件(sphinx.conf ),其中搜索进程的端口号不能相同,即 listen = 0.0.0.0:3312 中的默认端口3312 必须更改为一个系统不在使用的端口。如果要指定不同的数据库,必须更改:

  sql_db = dbname

  sql_host = 192.168.1.100

  sql_pass = username

  sql_user =password

  sql_port = 3306

配置文件中的index名称也不能相同,另外,不同配置文件的生成的索引文件不能放在同一个目录,否则搜索时会对整个文件夹下的索引文件进行搜索,但是不同索引文件对应不同的数据库,这样取数据时会出现问题。

假设有两个配置文件:sphinx1.conf和sphinx2.conf分别位于两个sphinx数据目录:/home/testuser/sphinx1和/home/testuser/sphinx2中 ,sphinx安装路径为/usr/local/sphinx/,那么启动方法如下:

/usr/local/sphinx/bin/searchd --config /home/testuser/sphinx1/sphinx1.conf

/usr/local/sphinx/bin/searchd --config /home/testuser/sphinx2/sphinx2.conf

同样,生成索引的方法如下:

/usr/local/sphinx/bin/indexer -- config /home/testuser/sphinx1/sphinx1.conf  indexname  --rotate

/usr/local/sphinx/bin/indexer -- config /home/testuser/sphinx2/sphinx2.conf  indexname  --rotate

加参数—rotate是为了在更新索引文件后,无须重新启动searchd进程而可以搜索到更新index后的内容。
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]