首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sunspot_rails不为其配置读取sunspot.yml。

sunspot_rails不为其配置读取sunspot.yml。
EN

Stack Overflow用户
提问于 2012-02-07 10:02:11
回答 3查看 1K关注 0票数 2

我试着用太阳黑子和蒙哥德,但太阳黑子并没有连接到Solr。在试图连接到Solr时,Rails报告的错误如下。

代码语言:javascript
复制
Errno::ECONNREFUSED (Connection refused - connect(2))

我使用bundle exec rake sunspot:solr:start来运行Solr,并且确认Solr正在按照config/sunpot.yml中的定义在开发端口(8982)上运行。

当我在Rails控制台中运行Sunspot.config时,我看到:

代码语言:javascript
复制
   @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中太阳黑子,我是不是遗漏了一些不成熟的步骤?

我使用以下版本:

  • sunspot_rails (1.3.0)

  • sunspot_mongoid
  • ruby 1.9.3
  • rails (3.2.1)
  • 太阳黑子(1.3.0)

(0.4.1)

EN

回答 3

Stack Overflow用户

发布于 2012-02-10 21:37:15

回答我自己的问题。实际上,我的问题是sunspot_mongoid,它不是rails感知的,当安装为gem时,我必须将它作为rails插件添加到thr项目中,然后正确地加载config/sunpot.yml。

票数 2
EN

Stack Overflow用户

发布于 2012-02-07 10:46:57

您是否退出控制台,重新启动并检查?

票数 0
EN

Stack Overflow用户

发布于 2012-02-09 22:16:06

在尝试从控制台中使用sunspot_index_queue时,我遇到了类似的问题,结果发现太阳黑子没有从sunspot_rails (从您的sunspot.yml获得的)配置中获得所需的配置,对environments.rb文件稍加修改就可以了。在我的案例中,这就是我必须做的事情(如果有人从google上找到这个页面,就把它贴出来):

代码语言:javascript
复制
<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。(记住实例化!)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9174246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档