10

Railwayの両方のエピソードをElasticsearchで見終わったばかりです。私も先に進み、それを私のレールアプリケーション(3.1)に実装しました。すべてがうまくいっています。どのようにアプリケーションをHerokuにデプロイしたいのですが、具体的にはシーダースタックのHerokuでElasticsearchを動作させる方法がわかりません。Elasticsearch on Herokuの使い方

ご協力いただければ幸いです!

答えて

10

Herokuのは今盆栽はアドオンでElasticSearchをサポートしています。 https://devcenter.heroku.com/articles/bonsai

+0

非常にクール!私は誰かがこれのためのアドオンで出てくるのを待っていました。私はこれを試して実装する必要があります –

+1

まだこのパブリックベータ版では、この執筆時点では、質問とフィードバックは大歓迎です! [@bonsaisearch](http:// twitter。com/bonsaisearch)、または[email protected] :-) –

+0

これは有望です! –

0

私はRailsCastを見ていたのですが、残念ながらそれはHeroku上では実行できないように動作するJavaデーモンです。

+0

これはかなりうつ病です。 ElasticSearchは、私が今使っているもの(Solr/Sunspot)に代わる素晴らしい選択肢でした。 –

+1

は、実装する前に尋ねる価値がありました。 Herokuはまったく伝統的な環境ではありません:) –

0

とにかく、ヘロクに保存されていないデータをディスクに保存する必要があるため、通常のヘロクダイノーでは実行できません。アドオンを待つか、それ以外の場所でホストする必要があります。

11

あなたはAmazon EC2上で自分のElasticSearchサーバーを非常に簡単に回転でき、あなたのアプリに接続するだけです。これは、私たちがやっていることであり、それがうまく働いている...

http://www.elasticsearch.org/tutorials/elasticsearch-on-ec2/

+0

偉大なソース - thx 4の共有 –

+3

リンクは時代遅れで、もはや動作しません。 – Micah

+0

[こちら](http://chrissimpson.co.uk/using-elasticsearch-on-amazon-ec2.html)EC2チュートリアルのElasticsearchへの別のリンク。 –

2

ステートを維持するために、S3を使用してHeroku上でElastic Searchを実行するPlayフレームワークモジュールを作成しました。 EC2インスタンスは必要ありません.S3データのコストは、主にIOトランザクションを中心に計算されます。 ElasticSearch S3ゲートウェイ(永続化メカニズム)を使用します。

Playアプリケーションを拡張して検索機能の特定のエンドポイントを作成するか、必要に応じてElasticSearch REST APIに直接アクセスできます(デフォルトでは、ルートhttp://yourapp.com/esに公開されます)。それを保護するための非常に基本的な認証システムがあります。

このセットアップの唯一の欠点は、dynoがスピンアップするまでに時間がかかることです。したがって、dynoを非アクティブ状態からスピンダウンさせるとうまくいきません。S3データ転送料金がかかる場合や、インデックスが巨大である場合は、S3データ転送料金に釘付けになる可能性があります。あなたは自分のデータをコントロールし、それは安く安く安いです。もう一つの警告の言葉 - あなたはHeroku dynoの記憶限界を守るために注意する必要があります。つまり、問題のない複数の索引で機能するフルテキスト検索オートコンプリート機能がありました。

JRubyを使用してRailsで同様のモジュールを作成して、ElasticSearch Java APIと対話できるかもしれません。私の主な貢献は、別のWebフレームワークの中でそれをどのように実行するかを考え出すことでした.PlayもNettyを使用していたので、埋め込むのはかなり簡単でした。 EC2クラスタ+ Tire(ElasticSearch用のRails gem)と比較したパフォーマンステストでは、Heroku/Playアプローチがより高速な検索を実行したことが示されています。

プロジェクトはここにあります:https://github.com/carchrae/elastic-play - 私は人々がそれをセットアップするのを手伝ってうれしいです - それはかなり痛みがないはずです。