Настройка поиска

Я пытаюсь настроить searchkick на c9.io. Однако я установил elasticsearch, но не могу получить доступ к локальному хосту или моему URL-адресу, предоставленному мне c9.io через порт 9200, чтобы убедиться, что searchkick работает правильно. Кто-нибудь сталкивался с этой проблемой?

Я проверил, что elasticsearch работает.

$ /home/ubuntu/.linuxbrew/bin/brew info elasticsearch
elasticsearch: stable 1.7.1, HEAD
Distributed real-time search & analytics engine for the cloud
https://www.elastic.co/products/elasticsearch
/home/ubuntu/.linuxbrew/Cellar/elasticsearch/1.7.1 (33 files, 30M) *
  Built from source
From: https://github.com//homebrew/blob/master/Library/Formula/elasticsearch.rb
==> Caveats
Data:    /home/ubuntu/.linuxbrew/var/elasticsearch/elasticsearch_ubuntu/
Logs:    /home/ubuntu/.linuxbrew/var/log/elasticsearch/elasticsearch_ubuntu.log
Plugins: /home/ubuntu/.linuxbrew/var/lib/elasticsearch/plugins/
Config:  /home/ubuntu/.linuxbrew/etc/elasticsearch/

Когда я запускаю грабли, я получаю это сообщение об ошибке.

$rake searchkick:reindex CLASS=Account
rake aborted!
Faraday::ConnectionFailed: Connection refused - connect(2) for "localhost" port 9200
/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/faraday-0.9.1/lib/faraday/adapter/net_http.rb:80:in `perform_request'
/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/faraday-0.9.1/lib/faraday/adapter/net_http.rb:40:in `block in call'
/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/faraday-0.9.1/lib/faraday/adapter/net_http.rb:87:in `with_net_http_connection'
/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/faraday-0.9.1/lib/faraday/adapter/net_http.rb:32:in `call'
/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/faraday-0.9.1/lib/faraday/rack_builder.rb:139:in `build_response'
/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/faraday-0.9.1/lib/faraday/connection.rb:377:in `run_request'
ect...

Я думаю, что если я не смогу найти решение этой проблемы, я настрою локальную среду, но я действительно не хочу этого делать.


person M.T Davis    schedule 11.09.2015    source источник
comment
В соединении отказано. либо он не работает, не прослушивает эту комбинацию ip/port, либо он защищен брандмауэром.   -  person Marc B    schedule 11.09.2015


Ответы (2)


У меня была аналогичная проблема с запуском этого на моем Mac. Поскольку установленная вами версия не запускается автоматически как демон, вы получите отказ в подключении. Лучше установить пакет, если вы используете Ubuntu. На сайте elasticsearch есть руководство, которому легко следовать. Используйте шаги на сайте ниже и попробуйте еще раз.

https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

person willfore    schedule 25.09.2015

Ну, я не устанавливал searchkick, но я работал над ElasticSearch в среде C9.

Вот шаги, которые я сделал:

wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.2.0/elasticsearch-2.2.0.deb

sudo dpkg -i elasticsearch-2.2.0.deb

sudo update-rc.d elasticsearch defaults 95 10

sudo /etc/init.d/elasticsearch start

Затем я изменил файл elasticsearch.yml, включив в него порт, поддерживаемый c9.io (например, 8081 или 8082): раскомментируйте порт хоста в файле и измените этот номер порта.

sudo nano /etc/elasticsearch/elasticsearch.yml  

Наконец, создайте инициализатор elasticsearch (config/initializes/elasticsearch.rb) и включите IP-адрес c9:

"Your Model to be indexed".__elasticsearch__.client = Elasticsearch::Client.new host: ENV['IP']

Надеюсь, это поможет, потому что проблема с портом elasticsearch в среде C9 плохо документирована.

person Dali    schedule 09.02.2016