スケーラブルな検索エンジンである ElasticSearch は Ver.2 以降の仕様でデフォルト設定では localhost からのアクセスのみが許可されるようになりました。要するにデフォルト設定のままでは外部からの検索リクエストを受け付けない、ということになります。
このままでも問題ない、という人もいると思いますが、検索サービスとして利用するケースを想定すると、このままでは外部に検索 API 機能を提供できないことになってしまいます。外部からのリクエストを受け付けるには elasticsearch.yml(CentOS などであれば /etc/elasticsearch/elasticsearch.yml)を編集して、以下の1行を追加します:
この状態で ElasticSearch を再起動すると外部アクセスが可能になります。
ただし、この指定だと本当にどこからでも使えてしまいます。つまり外部から DELETE リクエストでインデックスごと消す、なんてことも出来てしまいます。それはそれで危険かもしれません。実際の運用においては特定のアドレス(範囲)からのアクセスだけ受け付けるようにする、などの工夫をすべきだと思います。
このままでも問題ない、という人もいると思いますが、検索サービスとして利用するケースを想定すると、このままでは外部に検索 API 機能を提供できないことになってしまいます。外部からのリクエストを受け付けるには elasticsearch.yml(CentOS などであれば /etc/elasticsearch/elasticsearch.yml)を編集して、以下の1行を追加します:
network.host: 0.0.0.0
この状態で ElasticSearch を再起動すると外部アクセスが可能になります。
ただし、この指定だと本当にどこからでも使えてしまいます。つまり外部から DELETE リクエストでインデックスごと消す、なんてことも出来てしまいます。それはそれで危険かもしれません。実際の運用においては特定のアドレス(範囲)からのアクセスだけ受け付けるようにする、などの工夫をすべきだと思います。