具有delta索引的远程数据库服务器上的ThnkingSphinx(sphinxd)?

Tom*_*son 5 search sphinx thinking-sphinx delayed-job ruby-on-rails-3

我正在设置一个简单的多层Rails 3.1设置 - 一个或多个服务器上的Web应用程序,postgresql数据库和远程服务器上的Sphinx搜索索引.

在单服务器设置上,我们使用ThinkingSphinx和delta索引(使用delayed_job),然后使用nightcron来更新主索引.效果很好.

所以:用户创建可索引的内容; app告诉delayed_job安排更新; delta-indexer为delta-index添加新内容; 搜索两者都可以正确解析搜索查询; 每晚工作重建单一主要指数.

ThinkingSphinx的文档在这里附近

最好的方法是让Sphinx,数据库和延迟的作业处理任务都在一台机器上运行.

但我不清楚如何将延迟作业流程所需的信息发送到要运行的单个服务器.我已经阅读了一些有关共享文件系统的内容(哎 - 真的吗?).我还没有读过代码,但也许有一个简单的方法?

这是希望!

pat*_*pat 4

延迟作业工作人员(在 DB/Sphinx 服务器上运行)在 Rails 应用程序的上下文中引用数据库 - 因此您还需要 DB/Sphinx 服务器上的应用程序,但只是为了运行 DJ 工作人员。

从应用服务器的角度来看,TS 只会像平常一样将作业记录添加到数据库中。

您还需要设置以下设置 - 该设置位于 config/application.rb 的末尾:

ThinkingSphinx.remote_sphinx = Rails.env.production?
Run Code Online (Sandbox Code Playgroud)

并将 Sphinx 版本添加到您的 config/sphinx.yml 中:

production:
  version: 2.0.1-beta
Run Code Online (Sandbox Code Playgroud)