Ruby on rails 配置轮胎以使用盆景ElasticSearch Heroku插件
所以我有一个rails 3.2应用程序。我创建了一个索引。 我遵循以下指南:在Ruby on rails 配置轮胎以使用盆景ElasticSearch Heroku插件,ruby-on-rails,ruby-on-rails-3,heroku,
elasticsearch,tire,Ruby On Rails,Ruby On Rails 3,Heroku,
elasticsearch,Tire,所以我有一个rails 3.2应用程序。我创建了一个索引。 我遵循以下指南:在config/initializers/bonsai.rb 看起来是这样的: ENV['ELASTICSEARCH_URL'] = ENV['BONSAI_URL'] # Optional, but recommended: use a single index per application per environment. # Caveat: This convention not be entirely sup
config/initializers/bonsai.rb
看起来是这样的:
ENV['ELASTICSEARCH_URL'] = ENV['BONSAI_URL']
# Optional, but recommended: use a single index per application per environment.
# Caveat: This convention not be entirely supported throughout Tire's API.
app_name = Rails.application.class.parent_name.underscore.dasherize
app_env = Rails.env
INDEX_NAME = "#{app_name}-#{app_env}"
但我没有工作,这是heroku日志的输出:
2013-03-06T17:04:54+00:00 app[web.1]: Processing by SchoolsController#index as HTML
2013-03-06T17:04:54+00:00 app[web.1]: Started GET "/trafikskola?utf8=%E2%9C%93&query=Malm%C3%B6" for 192.165.96.102 at 2013-03-06 17:04:54 +0000
2013-03-06T17:04:54+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "query"=>"Malmö"}
2013-03-06T17:04:58+00:00 heroku[router]: at=info method=GET path=/trafikskola?utf8=%E2%9C%93&query=Malm%C3%B6 host=stormy-escarpment-2346.herokuapp.com fwd="192.165.96.102" dyno=web.1 queue=0 wait=0ms connect=1ms service=3106ms status=500 bytes=643
2013-03-06T17:04:58+00:00 app[web.1]:
2013-03-06T17:04:58+00:00 app[web.1]: app/models/school.rb:19:in `search'
2013-03-06T17:04:58+00:00 app[web.1]: app/controllers/schools_controller.rb:10:in `index'
2013-03-06T17:04:58+00:00 app[web.1]: Completed 500 Internal Server Error in 3073ms
2013-03-06T17:04:58+00:00 app[web.1]: Errno::ECONNREFUSED (Connection refused - connect(2)):
2013-03-06T17:04:58+00:00 app[web.1]:
2013-03-06T17:04:58+00:00 app[web.1]:
我的问题:
ELASTICSEARCH\u URL
中添加一些内容吗?如果是,那怎么办config/initializers/bonsai.rb
是正确的,问题是我还必须在生产模式下对它进行索引
所以我这样做了:
heroku rake environment tire:import CLASS=School FORCE=true
很酷,注意,当你在一个普通主机上通过SSH连接时,你必须设置Rails环境(
Rails\u ENV=production
)。Heroku还会提醒你-Heroku rake
被弃用,而支持Heroku run rake