我尝试在我的新服务器上安装带有rails 3.0.1的sphinx。
我总是这样:
在您的系统上找不到Sphinx。您可能需要配置 以下config / sphinx.yml文件中的设置:* bin_path * searchd_binary_name * indexer_binary_name
有关更多信息,请阅读文档: http://freelancing-god.github.com/ts/en/advanced_config.html
或
一些谜语错误。首先我尝试通过ubuntu软件包:
sudo apt-get install sphinxsearch
这没有用,所以我试图从网站上加载它并自己编译。
我可以执行:
RAILS_ENV =生产佣金:重生
我找到了它:
whereis searchd searchd:/ usr / local / bin / searchd
但是crontab -e无法执行重建方法......
此错误也来买试试开始搜索manualy:
searchd --pidfile --config /var/www/config/production.sphinx.conf Sphinx 2.1.1-beta(rel21-r3701) 版权所有(c)2001-2013,Andrew Aksyonoff 版权所有(c)2008-2013,Sphinx Technologies Inc(http://sphinxsearch.com)
使用配置文件'/var/www/config/production.sphinx.conf'... 警告:/var/www/config/production.sphinx.conf第8行中不推荐使用密钥“地址”;改用'听'。 警告:/var/www/config/production.sphinx.conf第9行中不推荐使用密钥“port”;改用'听'。 致命:无法锁定pid文件'/var/www/log/searchd.production.pid':资源暂时不可用(searchd已经在运行?)
谢谢!!!祝周末愉快!
答案 0 :(得分:2)
ThinkinSphinx在/ usr / bin /中查找searchd和indexer我创建了一个符号链接到/ usr / local / bin / searchd和/ usr / local / bin / indexer并且工作。
sudo ln -s /usr/local/bin/searchd /usr/bin/searchd
sudo ln -s /usr/local/bin/indexer /usr/bin/indexer
问候
答案 1 :(得分:1)
有几点需要注意:
首先,如果你正在使用Thinking Sphinx 2.x,你应该将Sphinx降级到早期版本(它不适用于Sphinx 2.1.1-beta.2.0.6应该没问题。)
如果已经完成并且您仍然遇到问题,则Sphinx二进制文件可能不在您的PATH中。你可能想要在shell环境中将它们的位置(如果movihus是正确的,/ usr / local / bin)添加到你的PATH,还要将它添加到Cron的路径中(因为它是一个单独的上下文)。你的crontab中的这一行应该可以解决这个问题:
PATH: /usr/local/bin:/usr/bin:/bin
另外:您不需要定期重建,只需重新索引 - 只有在Sphinx索引定义发生变化时才需要重建。
rake ts:index
答案 2 :(得分:1)
感谢您的回答:
我做了两件事:符号链接并下载并安装2.0.6版本。
然后我做了这个:RAILS_ENV=production rake _0.8.7_ thinking_sphinx:configure
它返回了:
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
For more information, read the documentation:
http://freelancing-god.github.com/ts/en/advanced_config.html
Generating Configuration to /var/www/config/production.sphinx.conf
Generating Configuration to /var/www/config/production.sphinx.conf
并且没有我得到这些行:
RAILS_ENV=production rake _0.8.7_ thinking_sphinx:index
(在/ var / www中)
在您的系统上找不到Sphinx。您可能需要配置 以下config / sphinx.yml文件中的设置:* bin_path * searchd_binary_name * indexer_binary_name
有关更多信息,请阅读文档: http://freelancing-god.github.com/ts/en/advanced_config.html 生成配置到/var/www/config/production.sphinx.conf Sphinx 2.0.6版本(r3473)版权所有(c)2001-2012,Andrew Aksyonoff 版权所有(c)2008-2012,Sphinx Technologies Inc. (http://sphinxsearch.com)
使用配置文件'/var/www/config/production.sphinx.conf'...警告: 在/var/www/config/production.sphinx.conf中不推荐使用key'address' 第8行;改为使用'listen'。
但它无法解决我的问题...
当我试图打开rails console时:
RAILS_ENV=production rails c
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
For more information, read the documentation:
http://freelancing-god.github.com/ts/en/advanced_config.html
Loading production environment (Rails 3.0.1)
1.9.2-p320 :001 > Vacancy.search "ruby"
Riddle cannot detect Sphinx on your machine, and so can't determine which
version of Sphinx you are planning on using. Please use one of the following
lines after "require 'riddle'" to avoid this warning.
require 'riddle/0.9.8'
# or
require 'riddle/0.9.9'
# or
require 'riddle/1.10'
Riddle cannot detect Sphinx on your machine, and so can't determine which
version of Sphinx you are planning on using. Please use one of the following
lines after "require 'riddle'" to avoid this warning.
require 'riddle/0.9.8'
# or
require 'riddle/0.9.9'
# or
require 'riddle/1.10'