![](/img/trans.png)
[英]Websolr, solr search, Heroku, and sunspot [Ruby on Rails]
[英]Heroku Rails Websolr, sunspot is not free in production?
我已經在我的應用程序中添加了太陽黑子寶石,並試圖將它發送到heroku生產,但我正在嘗試重新索引我的數據庫,但是,我收到了一個錯誤。 我做了一些挖掘,我想我必須添加websolr作為附加組件? 這個費用為每月20美元。 這是唯一的選擇嗎?
謝謝
Websolr + Bonsai的創始人(Solr和Elasticsearch的Heroku插件)。
Rich的答案非常可靠,除了SQL LIKE運算符,我不建議這樣做。 性能不會擴展,並且您要么比預期更多的時間下沉,以便實現基線搜索功能。 最終結果:花了很多時間,用戶不滿意。
Postgres全文搜索是一種合理的替代方案,但與Solr / Elasticsearch相比,術語分析和結果排名將缺乏,因為您的搜索流量在生產中開始增長。
您也可以考慮我們的姐妹服務,Bonsai,它提供免費的入門計划。 它使用Elasticsearch,這意味着你想要使用Elasticsearch的官方Ruby綁定而不是Sunspot。
最后,如果你已經在Heroku上有一個生產應用程序,歡迎你在你的帳戶中創建多個索引,並與你的staging / qa和其他應用程序共享這些索引。
Heroku上的Solr使用自己的附加組件,起價為20美元:
雖然我不知道為什么它預先成本,並且沒有像許多其他Heroku附加組件那樣的“試用”選項,但有一些方法可以解決它
全文搜索是您正在執行的操作,而Solr是一種使該過程更加高效的工具。 盡管數據庫非常昂貴,但您可以使用Heroku進行全文搜索,具體取決於您的數據庫:
MYSQL
要在MYSQL上執行全文搜索,只需使用帶有%variable%的“LIKE”運算符作為搜索短語,如下所示:
SELECT * FROM `table` WHERE `name` LIKE `%benjamin%`
這基本上找到了名稱列中包含“benjamin”的所有記錄。 這很慢
POSTGRESQL
PostgreSQL在全文搜索中提供了更強大的功能,但仍然非常慢且昂貴。 你可以在這里閱讀更多相關內容 ,但是使用rails,你可以使用一堆寶石為你完成任務
我們最近在這里使用了一個名為textacular的寶石: http : //firststop.herokuapp.com
這是我們用於它的代碼:
#Search
def self.search(search)
basic_search(name: search, description: search)
end
進一步閱讀
您可以在此處查看全文搜索的工作原理: 任何原因都不能在Heroku上使用PostgreSQL的內置全文搜索?
如果你剛剛為你的應用程序建立了基礎,我會建議你。 之后,您可以以Solr等人的形式升級到更專用的解決方案
這是
如果您想使用Heroku平台,它可以免費啟動,但您必須為幾乎所有附加組件,額外工作人員,額外存儲空間,搜索引擎,后台任務付費。
每月20美元,你也可以得到一個體面的VPS,但你必須自己安裝和管理該服務器。
至於Heroku上的太陽黑子/ solr,我認為你不能免費做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.