Chinaunix首页 | 论坛 | 博客
  • 博客访问: 88933
  • 博文数量: 31
  • 博客积分: 886
  • 博客等级: 准尉
  • 技术积分: 245
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-02 10:45
文章分类

全部博文(31)

文章存档

2011年(31)

我的朋友

分类: 系统运维

2011-01-24 11:28:55

要在同一机器上启动多个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后的内容。

阅读(3764) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~