繁体   English   中英

Heroku Rails Websolr,太阳黑子在制作中不是免费的吗?

[英]Heroku Rails Websolr, sunspot is not free in production?

我已经在我的应用程序中添加了太阳黑子宝石,并试图将它发送到heroku生产,但我正在尝试重新索引我的数据库,但是,我收到了一个错误。 我做了一些挖掘,我想我必须添加websolr作为附加组件? 这个费用为每月20美元。 这是唯一的选择吗?

谢谢

我做了一些研究,发现如果你不想采用websolr路径,还有其他选择。 这些其他答案对某些见解有好处,但不能替代可以使用的内容。

对于一些仍在寻找的人,我建议看看弹性搜索

Rails Cast也有一个很好的教程。

要与heroku一起使用,请查看Bonsai ,它为用户提供了免费选项。

希望这个答案能帮助那些寻求其他选择的人,而不是使用solr的太阳黑子宝石

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM