【问题标题】:Migrating from heroku to dokku (digital ocean)从 heroku 迁移到 dokku(数字海洋)
【发布时间】:2016-06-22 13:22:33
【问题描述】:

我正在将一切从 heroku 关闭并转移到数字海洋(更便宜和静态 IP 地址!!)

我在 heroku 上有搜索框。我会在数字海洋上需要这样的东西。

目前我在发出请求时遇到错误(仍在为 heroku 设置?)看起来像这样

I, [2016-06-22T13:18:41.226034 #275]  INFO -- : Started GET "/events_autocomplete?query=test" for 212.250.145.155 at 2016-06-22 13:18:41 +0000
I, [2016-06-22T13:18:41.253478 #275]  INFO -- : Processing by EventsController#autocomplete as JSON
I, [2016-06-22T13:18:41.253665 #275]  INFO -- :   Parameters: {"query"=>"test"}
I, [2016-06-22T13:18:41.264460 #275]  INFO -- : Completed 500 Internal Server Error in 11ms (Searchkick: 5.7ms | ActiveRecord: 0.0ms)
F, [2016-06-22T13:18:41.266812 #275] FATAL -- :
Faraday::ConnectionFailed (Connection refused - connect(2) for "localhost" port 9200):
  app/controllers/events_controller.rb:61:in `autocomplete'


I, [2016-06-22T13:18:41.319310 #275]  INFO -- : Started GET "/search_events?utf8=%E2%9C%93&search=test&commit=Search" for 212.250.145.155 at 2016-06-22 13:18:41 +0000
I, [2016-06-22T13:18:41.321272 #275]  INFO -- : Processing by EventsController#search as HTML
I, [2016-06-22T13:18:41.321365 #275]  INFO -- :   Parameters: {"utf8"=>"✓", "search"=>"test", "commit"=>"Search"}
I, [2016-06-22T13:18:41.326730 #275]  INFO -- : Completed 500 Internal Server Error in 5ms (ActiveRecord: 0.0ms)
F, [2016-06-22T13:18:41.328614 #275] FATAL -- :
Faraday::ConnectionFailed (Connection refused - connect(2) for "localhost" port 9200):
  app/controllers/events_controller.rb:83:in `search'

我对此很陌生,因此非常感谢任何帮助

谢谢 山姆

编辑

  def search
    @events = Event.where("event_type != 'festival' AND complete = true").page(params[:page]).per(10).search params[:search], suggest: true, misspellings: { distance: 1 }, order: { date: :asc, eventname: :asc }, match: :word_start
    if @events.results.any?
      render 'events/results'
    else
      render 'events/noresults'
    end
  end

【问题讨论】:

  • 请在您的app/controllers/events_controller.rb 文件的第 83 行附近添加代码。
  • 现在添加,不知道你会不会喜欢哈哈!
  • 您是否设置了某种搜索技术?什么是将Event.search 方法添加到您的模型中?它很可能是一个宝石,它可能试图与localhost:9200 的某种搜索服务器(Solr、Elastic Search 等)进行通信。你能看看models/event.rb,看看里面有没有什么可以给你提示的吗? (这并不意味着将整个模型文件复制并粘贴到这个问题中。)
  • 嗨,克里斯,抱歉耽搁了,我的网站上有 searchkick

标签: ruby-on-rails heroku digital-ocean


【解决方案1】:

您可以使用官方的dokku-elasticsearch 插件来设置ES 实例并将其链接到您的应用程序。完成后,将为您的应用设置ELASTICSEARCH_URL,只要您的代码尊重这一点,您就可以开始使用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多