我正在运行rails 2.3.5 每次我运行rake ts:start或ts.rebuild rake文件都包含以下内容:
Sphinx cannot be found on your system. You may need to configure the following
settings in your config/sphinx.yml file:
* bin_path
* searchd_binary_name
* indexer_binary_name
rake aborted!
key not found
我运行Sphinx并且配置中的sphinx.yml是正确的:(我相信)
bin_path: /usr/bin/searchd
searchd_binary_name: searchd
indexer_binary_name: sphinx-indexer
Sphinx似乎正在运行,就像它运行时一样(通过运行命令:service searchd start)
浏览到使用搜索的页面时出现的错误是:
ThinkingSphinx::SphinxError in Jobs#index
Showing app/views/jobs/index.html.erb where line #30 raised:
unknown local index 'job_core' in search request
而不是连接错误? 这里可能存在很多问题,但我被困住了。 或者,我可以重写我正在修改使用不同搜索功能的代码,如果是这样,最好的是什么?
答案 0 :(得分:1)
bin_path
不应包含实际的二进制名称(因为您使用searchd_binary_name
和indexer_binary_name
进行设置) - 所以只需/usr/bin
即可。
答案 1 :(得分:1)
将你的sphinx.yml配置与我的比较,看起来我的bin_path,search_binary_name和index_binary_name的值表示为字符串,但这似乎并不重要。我的索引器二进制文件是 索引器 而不是 sphinx-indexer
development:
min_infix_len: 3
config_file: "./config/development.sphinx.conf"
searchd_log_file: "./log/searchd.log"
query_log_file: "./log/searchd.query.log"
pid_file: "./log/searchd.development.pid"
bin_path: "/usr/local/bin"
searchd_binary_name: "searchd"
indexer_binary_name: "indexer"
所以也许值得检查一下你是否指定了正确的二进制名称。这是Pat所说的不包括bin_path中的搜索二进制名称的补充。