我有两个带有搜索功能的小应用程序。它们是完全不同的两个应用程序,具有不同的数据库等。
现在问题出在 pid 文件上。当我这样做时,只有应用程序正在搜索原因
rake ts:start
其中一个表示另一个实例已经在运行。 我怎样才能改变这一点,以便 sphinx 继续为这两个应用程序运行。我正在使用 Capistrano 进行开发。
结构是这样的:
/home/me/my_app_1/production/current
/home/me/my_app_2/production/current
最佳答案
在这两个应用程序中,您必须创建一个 config/sphinx.yml
,其中可以包含各种配置变量,其中之一允许您指定 sphinx 服务器的端口。当您在一个应用程序中手动定义端口时,如下所示:
development:
port: 9313
test:
port: 9314
production:
port: 9316
另一个:
development:
port: 9317
test:
port: 9318
production:
port: 9319
然后在两个应用程序中调用rake ts:rebuild
。 Thinking sphinx 将为 sphinx 生成新的配置文件,为每个应用程序和应用程序中的每个环境设置不同的 sphinx 实例。
关于ruby-on-rails - 在同一服务器上的两个不同应用程序中运行 sphinx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121323/