新的3.2安装,调用bundle exec rake ts:rebuild或bundle exec rake ts:index 操作失败,错误
ERROR: unknown key name 'workers' [...] development.sphinx.conf line 13 col 10.
生成的development.sphinx.conf文件,处于第13行的状态。
workers = threads
在检查文件后,我唯一的好奇心就是监听端口:
listen = 127.0.0.1:9310:mysql41
以及模型标记的后续行调用
sql_host = localhost
旁注。在deploy.rb中 需要'thinking_sphinx / deploy / capistrano' 建议使用ts作为gem失败并出现错误(而省略/部署部署):
/gems/capistrano-2.14.2/lib/capistrano/configuration/loading.rb:152:in `require': cannot load such file -- thinking_sphinx/deploy/capistrano (LoadError)
这是相关的吗?
后续
我注意到从版本3开始引入了工作程序。该机器目前正在运行sphinx v2 for rails 2.3.10 app。可比的sphinx2文件不会调用worker。所以看来该应用程序正在尝试连接到sphinx2。有没有办法同时运行v2和v3? (注意:Sphinx3版本在自己的端口上运行)。否则sphinx2版本的后果是什么,特别是如果在rails 2中开发?
答案 0 :(得分:1)
我建议在您的计算机上将Sphinx升级到2.0.6,然后在Rails 2.3应用程序中使用Thinking Sphinx 1.5.0,在Rails 3.2应用程序中使用Thinking Sphinx 3.0.3。您需要最新版本的Sphinx(当然是2.0.6)才能确保Sphinx了解“工人”设置。