【问题标题】:Rake searchkick reindex on heroku not working在heroku上耙searchkick重新索引不起作用
【发布时间】:2016-02-24 03:11:15
【问题描述】:

我正在尝试让 searchkick 重新索引 heroku 应用程序。它目前在 localhost 上重新索引很好。

我在 localhost 上运行的命令是这样的

rake searchkick:reindex CLASS=Newevent

我一直在关注 github 教程并得到了这个

heroku run rake searchkick:reindex CLASS=Newevent

目前返回这个,

 heroku run rake searchkick:reindex CLASS=Newevent
Running rake searchkick:reindex CLASS=Newevent on //APPNAMEREMOVED//... up, run.7334
rake aborted!
URI::InvalidURIError: bad URI(is not URI?): http://heroku congif:0
/app/vendor/bundle/ruby/2.2.0/gems/faraday-0.9.2/lib/faraday/utils.rb:258:in `call'
/app/vendor/bundle/ruby/2.2.0/gems/faraday-0.9.2/lib/faraday/utils.rb:258:in `URI'
/app/vendor/bundle/ruby/2.2.0/gems/faraday-0.9.2/lib/faraday/connection.rb:309:in `url_prefix='
/app/vendor/bundle/ruby/2.2.0/gems/faraday-0.9.2/lib/faraday/connection.rb:77:in `initialize'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport/transport/http/faraday.rb:47:in `new'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport/transport/http/faraday.rb:47:in `block in __build_connections'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport/transport/http/faraday.rb:36:in `map'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport/transport/http/faraday.rb:36:in `__build_connections'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport/transport/base.rb:34:in `initialize'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport/client.rb:105:in `new'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport/client.rb:105:in `initialize'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport.rb:26:in `new'
/app/vendor/bundle/ruby/2.2.0/gems/elasticsearch-transport-1.0.14/lib/elasticsearch/transport.rb:26:in `new'
/app/vendor/bundle/ruby/2.2.0/gems/searchkick-1.0.2/lib/searchkick.rb:43:in `client'
/app/vendor/bundle/ruby/2.2.0/gems/searchkick-1.0.2/lib/searchkick/index.rb:510:in `client'
/app/vendor/bundle/ruby/2.2.0/gems/searchkick-1.0.2/lib/searchkick/index.rb:148:in `clean_indices'
/app/vendor/bundle/ruby/2.2.0/gems/searchkick-1.0.2/lib/searchkick/index.rb:161:in `reindex_scope'
/app/vendor/bundle/ruby/2.2.0/gems/searchkick-1.0.2/lib/searchkick/model.rb:51:in `searchkick_reindex'
/app/vendor/bundle/ruby/2.2.0/gems/searchkick-1.0.2/lib/searchkick/tasks.rb:9:in `block (2 levels) in <top (required)>'
Tasks: TOP => searchkick:reindex
(See full trace by running task with --trace)

如果需要,我很乐意分享更多代码,只是不确定你需要什么,所以我没有包含负载

谢谢

【问题讨论】:

  • 从这个 sn-p 判断,我猜你的配置的某些部分有语法错误或拼写错误:“heroku congif:0”

标签: ruby-on-rails heroku


【解决方案1】:

阅读 searchkick 的文档:https://github.com/ankane/searchkick

有一个部分用于配置应用程序HEROKU。 gem 引用 ENV["ELASTICSEARCH_URL"] 作为搜索 URL。我不建议将 URL 放在配置文件中。 Heroku 的方式是使用 ENV 变量。

【讨论】:

    【解决方案2】:

    您应该在config/secrets.yml 中指定弹性搜索网址

    production:
      secret_key_base:xxxxxxxxxxxxxx
      elastic_search_url: http://localhost:9200
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多