Ruby on rails 思考狮身人面像:同一个应用程序多次安装

Ruby on rails 思考狮身人面像:同一个应用程序多次安装,ruby-on-rails,sphinx,thinking-sphinx,Ruby On Rails,Sphinx,Thinking Sphinx,我有一个RoR应用程序,在同一台机器上安装了多次。该应用程序是相同的,它只是安装了不同的名称(即:app1,app2,…) 该应用程序用于搜索。它有一个模型元素的索引。每次安装应用程序都会有自己的数据库和自己的元素 所以我的问题是: 我是否应该通过更改端口来运行多个Sphinx实例,每个应用程序一个?(我在2次安装中尝试了此选项,效果很好,但我认为在服务器负载方面存在一些问题) 我应该只有一个斯芬克斯实例吗?在这种情况下,我应该在哪里配置Sphinx?如何配置它以访问不同的数据库?我如何告诉i

我有一个RoR应用程序,在同一台机器上安装了多次。该应用程序是相同的,它只是安装了不同的名称(即:app1,app2,…)

该应用程序用于搜索。它有一个模型
元素的索引。每次安装应用程序都会有自己的数据库和自己的
元素

所以我的问题是:

  • 我是否应该通过更改端口来运行多个Sphinx实例,每个应用程序一个?(我在2次安装中尝试了此选项,效果很好,但我认为在服务器负载方面存在一些问题)

  • 我应该只有一个斯芬克斯实例吗?在这种情况下,我应该在哪里配置Sphinx?如何配置它以访问不同的数据库?我如何告诉it部门区分不同应用程序的实例

  • 我应该采用另一种解决方案吗

提前感谢您

单独的Sphinx实例(在不同的端口上运行)绝对是一条可行之路


Sphinx要求每个文档都有一个唯一的id,即使在不同的索引文件之间也是如此,因此使用标准思维管理Sphinx生成的配置对于多个应用程序来说是一件痛苦的事情-实际上,您需要自己管理单个配置文件,另外,调整Thinking Sphinx,只搜索每个应用程序的相关数据集。这在某种程度上可能很有趣,但我的直觉是,这真的不值得付出努力或时间。使用不同的端口、不同的守护进程,更容易。

谢谢@pat。对服务器负载问题有任何评论或经验吗?我运行Flying Sphinx,这是一个为Heroku应用程序托管的Sphinx服务。在一些服务器上,我有几十个Sphinx实例在运行,所以它肯定是可行的。。。这实际上取决于索引的数据量,以及服务器上的规格。好的,非常感谢。我在一个相对较小的VPS上运行,让我们看看它是如何工作的