[英]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.