我剛剛完成了關於Elasticsearch上的兩個Railscasts節目的觀看。我也已經開始實施它到我的Rails應用程序(3.1)中,並且一切都很好。我想如何將我的應用程序部署到Heroku,但我不確定如何讓Elasticsearch在Heroku上工作(特別是在雪松堆棧上)。如何在Heroku上使用Elasticsearch
任何幫助將不勝感激!
我剛剛完成了關於Elasticsearch上的兩個Railscasts節目的觀看。我也已經開始實施它到我的Rails應用程序(3.1)中,並且一切都很好。我想如何將我的應用程序部署到Heroku,但我不確定如何讓Elasticsearch在Heroku上工作(特別是在雪松堆棧上)。如何在Heroku上使用Elasticsearch
任何幫助將不勝感激!
的Heroku現在支持ElasticSearch與盆景添加上。 https://devcenter.heroku.com/articles/bonsai
這正是我第一次看到RailsCast時的想法,但不幸的是它運行的Java守護程序在Heroku上不可行。
那真是令人沮喪。看起來ElasticSearch會成爲我現在使用的很好的替代品(Solr /太陽黑子)。 –
在實施之前可能會值得您去問。 Heroku不完全是一個傳統的環境:) –
無論如何,你不能在普通的Heroku dyno上運行它,因爲它必須將數據保存到Heroku上沒有保存的數據。你需要等待一個附加組件或將它託管到別的地方。
您可以非常輕鬆地[和自由地;-)]在Amazon EC2上推出您自己的ElasticSearch服務器,並且只需將它連接到您的應用程序即可。這是我們在做什麼,它的工作很好...
http://www.elasticsearch.org/tutorials/elasticsearch-on-ec2/
偉大的來源 - thx 4共享 –
鏈接過時,不再有效。 – Micah
[Here's](http://chrissimpson.co.uk/using-elasticsearch-on-amazon-ec2.html)鏈接到EC2教程上的Elasticsearch。 –
我創建了一個Play框架模塊,它將使用S3在Heroku上運行彈性搜索以保持狀態。不需要EC2實例 - 您只需支付S3數據的成本(主要是IO交易)。它使用ElasticSearch S3網關(持久性機制)。
您可以通過擴展Play應用程序爲您的搜索功能創建特定端點來使用它,或者如果您願意,可以直接訪問ElasticSearch REST API(默認情況下,它將在路徑http://yourapp.com/es上公開它)。有一個非常基本的認證系統來保護它。
此設置唯一的缺點是測功機可能需要一些時間才能啓動。因此,如果您將測功機從不活動狀態轉爲低速狀態,那麼它將無法正常工作 - 如果發生這種情況並且您的索引非常龐大,那麼您可能會獲得S3數據傳輸費用。好處是你控制你自己的數據,它便宜便宜。另一個警告詞 - 你需要小心保持在Heroku dyno的內存限制內。也就是說,我們有全文搜索自動完成功能,可以在多個索引上工作而不會出現任何問題。
您可能可以使用JRuby在Rails中構建一個類似的模塊來與ElasticSearch Java API對話。我的主要貢獻是弄清楚如何在另一個Web框架中運行它 - 因爲Play也使用Netty,所以嵌入它非常容易。與EC2集羣+ Tire(ElasticSearch的Rails gem)相比,性能測試顯示Heroku/Play方法執行更快的搜索。
該項目在這裏:https://github.com/carchrae/elastic-play - 我很樂意幫助人們設置它 - 它應該是非常痛苦的。
非常酷!我正在等待有人出來帶着這個附加組件。我將不得不嘗試執行這個 –
在撰寫本文時仍處於公開測試階段;歡迎提出問題和反饋!打我通過[@bonsaisearch](http:// twitter。com/bonsaisearch)在Twitter上,或[email protected] :-) –
這是有前途的! –