我真的需要在每次部署时重启Sphinx吗?

时间:2016-08-15 11:06:39

标签: ruby-on-rails ruby-on-rails-4 sphinx thinking-sphinx engineyard

我目前正在使用SphinxThinkingSphinx gem for Rails。

我使用delta索引通过cron进行预定索引。问题是,对于每次部署,我重新启动searchd进程。我每天部署大约5次,而且每次我搜索都会失败,这对我来说是不可接受的。是否真的需要每次重启狮身人面像?当然,有一种方法可以实现无停机时间吗?

顺便说一下,我使用了Engineyard和来自安永的这本特别食谱,Thinking Sphinx 3 Cookbook

它有点陈旧,它说:

  

您还需要添加部署挂钩以在部署时重新启动Sphinx。

有什么想法吗?是否有更新的Sphinx食谱?

1 个答案:

答案 0 :(得分:3)

EngineYard文档确实已过时。正如Barry在评论中提到的,如果您以某种方式更改了Sphinx配置,则只需要重新启动Sphinx。

思考Sphinx文档曾经建议重新启动 - 这也许是安永文档提出相同建议的原因 - 但这仅适用于您没有使用Sphinx的共享路径的情况。特定于部署的路径(以前的方法)意味着Sphinx文件位于每个部署的不同位置,因此需要重新启动才能使用最新的版本目录。但是,共享路径意味着Sphinx文件始终位于同一位置,与特定部署无关,因此您无需每次都重新启动。