2016-07-29 15 views
3

Ich habe elasticsearch/searchkick in meiner App implementiert und es funktioniert bei der Entwicklung. Meine Ressourcen für die elasticsearch/searchkick-Implementierung sind GoRails und ich habe elasticsearch erfolgreich installiert. Aber wenn ich es auf Heroku geschoben, es gab mir den Fehler:Wie man elasticsearch auf Heroku einrichtet?

"We're sorry, but something went wrong."

habe ich Heroku Protokolle und die Fehler sind:

"Completed 500 Internal Server Error in 16ms (Searchkick: 8.0ms | ActiveRecord: 0.0ms)"

und

"Faraday::ConnectionFailed (Connection refused - connect(2) for "localhost" port 9200):"

+0

Sie haben das Add-on auf dem heroku Dashboard installiert? Recht? https://devcenter.heroku.com/articles/bonsai#installing-the-add-on –

Antwort

9

Bitte versuchen, diese .. ...

Searchkick uses ENV["ELASTICSEARCH_URL"] for the Elasticsearch server. This defaults to http://localhost:9200. 
Heroku 

C Wählen Sie ein Add-on: SearchBox, Bonsai oder Elastic Cloud.

# SearchBox

heroku addons:create searchbox:starter 
heroku config:set ELASTICSEARCH_URL=`heroku config:get SEARCHBOX_URL` 

# Bonsai

heroku addons:create bonsai 
heroku config:set ELASTICSEARCH_URL=`heroku config:get BONSAI_URL` 

# gefunden

heroku addons:create foundelasticsearch 
heroku config:set ELASTICSEARCH_URL=`heroku config:get FOUNDELASTICSEARCH_URL` 

Dann implementieren und r eindex:

heroku run rake searchkick:reindex CLASS=Product 

Weitere Informationen finden Sie in dieser Dokumentation https://github.com/ankane/searchkick#deployment. Hoffe, das wird für Sie arbeiten. Vielen Dank!

+0

danke @Akshay. aber statt heroku run rake searchkick: reindex CLASS = Produkt, laufe ich stattdessen heroku run rails searchkick: reindex: alles CLASS = Produkt damit meine Autocomplete funktioniert – boholdyjeramae

+0

@Jeramae: Benutzt du Rails 5 richtig? Wenn ja, dann musst du den Befehl wie folgt ausführen: 'heroku run rails searchkick: reindex: all CLASS = Product' –