如何运行sphinx的多个实例?

如何运行sphinx的多个实例?,sphinx,Sphinx,我有一个运行sphinx的搜索引擎,现在我用sphinx运行我的vbulletin论坛。唯一的问题是sphinx只允许您使用一个配置文件“sphinx.conf”,我现在有2个,必须使用2个。现在我有了sphinx.conf和sphinx-vb.conf。如何运行searchd的第二个实例,以便使用sphinx-vb.conf文件?我需要运行2的原因是我对索引有不同的需求,有cron作业等等,这将使事情变得更容易。我已经浏览了谷歌的所有页面,但我不知道如何运行sphinx的另一个实例。我知道我还

我有一个运行sphinx的搜索引擎,现在我用sphinx运行我的vbulletin论坛。唯一的问题是sphinx只允许您使用一个配置文件“sphinx.conf”,我现在有2个,必须使用2个。现在我有了sphinx.conf和sphinx-vb.conf。如何运行searchd的第二个实例,以便使用sphinx-vb.conf文件?我需要运行2的原因是我对索引有不同的需求,有cron作业等等,这将使事情变得更容易。我已经浏览了谷歌的所有页面,但我不知道如何运行sphinx的另一个实例。我知道我还需要在另一个端口上运行,因此我的第二个端口将比原来的9313端口高1。有人知道怎么做吗?谢谢

我试着运行这个 sudo/usr/local/bin/searchd--config/usr/local/etc/sphinx-vb.conf

我犯了这个错误 致命:未能锁定pid文件“/usr/local/var/log/searchd.pid”:资源暂时不可用(searchd已在运行?)


当然,它正在运行。它正在为搜索引擎运行。

Chris,正如您在问题和评论中所指出的,您需要为每个搜索进程使用不同的端口,和不同的pid文件。不同的日志文件也可能是一个好主意:)

唯一的问题是sphinx只允许您使用一个配置文件“sphinx.conf”

不,你需要多少就用多少

如何运行searchd的第二个实例,以便使用sphinx-vb.conf文件?我需要运行2的原因是我对索引有不同的需求,有cron作业等等,这将使事情变得更容易

不确定您是否需要另一个实例来满足您的需求。我的意思是运行sphinx-vb.conf文件。作为不同实例的替代方案,您可以在sphinx-vb.conf文件中创建不同的源代码,并使用相同实例运行两个配置索引,如:

1 * * * * indexer --config /etc/sphinxsearch/sphinx.conf --all --rotate
* 2 * * * indexer --config /etc/sphinxsearch/sphinx-vb.conf --all --rotate
然后在同一端口上使用相同的连接运行它,但查询不同的源。例如,使用sphinxapi.php

$sphinx->SetServer( "localhost", 9312 );
$result1 = $sphinx->Query('','firstSource');
...
$result1 = $sphinx->Query('','sourceVb');

我想我明白了。这似乎是我的工作,以防别人看到这一点,并期待做同样的事情。创建一个新目录,并在该目录中创建一个新的searchd.pid。只需创建一个名为searchd.pid的空白文件,用配置脚本指向它,然后运行sphinx。我不知道我是否应该这样做,但它似乎是这样工作的方式。我仍然愿意接受任何建议。谢谢。克里斯,我也有同样的问题。你复制了整个sphinx目录吗?但是mysql实例呢?目前,我的两个单独的sphnx实例发生冲突,因为它们正在写入同一个数据库!(索引名称相同)您可以在配置文件中设置索引名称我的意思是您可以在sphinx.conf中使用索引my_first_sphinx_index,并在sphinx1.conf中使用索引my_first_sphinx_index1,但在这种情况下,我建议在sphinx1的另一个端口上运行另一个sphinx实例。conf@DonaldF,我知道我可以对索引进行不同的命名,这是唯一的办法吗?Ie:我们不能在mysql:9304上连接吗?然后在mysql上:9306