как установить другой порт для драгоценного камня searchkick?

Я запустил elasticsearch на порту 8081 в облаке9.

/workspace/elasticsearch-6.1.1/bin $ ./elasticsearch -E http.port=8081

Затем я добавляю гем «searchkick» в gemfile, а затем связываю установку

Затем я добавляю searchkick в модель как

class Book < ActiveRecord::Base
    searchkick
end

Затем я запускаю команду

Book.reindex

Я получаю следующую ошибку

2.3.4 :001 > Book.reindex
Faraday::ConnectionFailed: Failed to open TCP connection to localhost:9200 (Connection refused - connect(2) for "localhost" port 9200)
        from /usr/local/rvm/rubies/ruby-2.3.4/lib/ruby/2.3.0/net/http.rb:882:in `rescue in block in connect'
        from /usr/local/rvm/rubies/ruby-2.3.4/lib/ruby/2.3.0/net/http.rb:879:in `block in connect'
        from /usr/local/rvm/rubies/ruby-2.3.4/lib/ruby/2.3.0/timeout.rb:91:in `block in timeout'
        from /usr/local/rvm/rubies/ruby-2.3.4/lib/ruby/2.3.0/timeout.rb:101:in `timeout'
        from /usr/local/rvm/rubies/ruby-2.3.4/lib/ruby/2.3.0/net/http.rb:878:in `connect'
        from /usr/local/rvm/rubies/ruby-2.3.4/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
        from /usr/local/rvm/rubies/ruby-2.3.4/lib/ruby/2.3.0/net/http.rb:852:in `start'

Это имеет смысл, потому что предполагается, что эластичный поисковый сервер работает на порту 9200 по умолчанию, но я запускал его на 8081. Как указать гему searchkick подключаться к порту 8081 вместо 9200? Я ценю любую помощь! Спасибо!


person kofhearts    schedule 28.12.2017    source источник


Ответы (1)


Создайте инициализатор config/initializers/elasticsearch.rb:

ENV['ELASTICSEARCH_URL'] = 'http://localhost:8081'

Подробнее в официальном документе

person Rodion V    schedule 28.12.2017