我试着用太阳黑子和蒙哥德,但太阳黑子并没有连接到Solr。在试图连接到Solr时,Rails报告的错误如下。
Errno::ECONNREFUSED (Connection refused - connect(2))我使用bundle exec rake sunspot:solr:start来运行Solr,并且确认Solr正在按照config/sunpot.yml中的定义在开发端口(8982)上运行。
当我在Rails控制台中运行Sunspot.config时,我看到:
@properties={:url=>"http://127.0.0.1:8983/solr"}然后我将开发/生产端口更改为8984/8985,Solr从新的dev端口( 8984 )开始,但是Rails控制台中的Sunspot.config仍然返回http://127.0.0.1:8983/solr (既不是8984,也不是8985,这意味着它根本不读取sunspot.yml )。
在Rails中太阳黑子,我是不是遗漏了一些不成熟的步骤?
我使用以下版本:
(0.4.1)
发布于 2012-02-10 21:37:15
回答我自己的问题。实际上,我的问题是sunspot_mongoid,它不是rails感知的,当安装为gem时,我必须将它作为rails插件添加到thr项目中,然后正确地加载config/sunpot.yml。
发布于 2012-02-07 10:46:57
您是否退出控制台,重新启动并检查?
发布于 2012-02-09 22:16:06
在尝试从控制台中使用sunspot_index_queue时,我遇到了类似的问题,结果发现太阳黑子没有从sunspot_rails (从您的sunspot.yml获得的)配置中获得所需的配置,对environments.rb文件稍加修改就可以了。在我的案例中,这就是我必须做的事情(如果有人从google上找到这个页面,就把它贴出来):
<code>
SunspotConfig = Sunspot::Rails::Configuration.new
Sunspot.session = Sunspot::IndexQueue::SessionProxy.new(
Sunspot::IndexQueue.new(
:session => Sunspot::Session.new{|config| config.solr.url = "http://#{SunspotConfig.hostname}:#{SunspotConfig.port}/solr"}
)
)
</code>要不使用队列,本地线程代理应该会自动从sunspot.yml中恢复,因此您不需要担心。如果您对您的Sunspot::Configuration文件中的任何内容感兴趣,请尝试使用sunspot.yml或Sunspot::Rails::Configuration。(记住实例化!)
https://stackoverflow.com/questions/9174246
复制相似问题