9

我正在构建一个将托管在 Heroku 上的 Rails 3 应用程序。

为了实现全文搜索,这些是我遇到的免费替代方案:

纺织品

act_as_tsearch

act_as_indexed

我的应用程序将是数据密集型的,需要大量读写。搜索也将被大量使用。

搜索将跨越不同的模型。

就性能和扩展性而言,哪一个是最好的?

还有其他免费和更好的选择吗?

改用 IndexTank 或 WebSolr(Heroku推荐的)会更好吗?

提前致谢!

4

4 回答 4

12

你试过 PgSearch https://github.com/Casecommons/pg_search吗?由于 heroku 使用 pg,因此您实际上可以免费获得全文搜索,并且 PgSearch 构建了利用 PostgreSQL 全文搜索的命名范围。

于 2011-11-30T17:11:11.753 回答
1

您可以使用 PostgreSQL 的内置全文搜索,但这很痛苦,但是有诸如 pg_search 之类的 gem 可以使它更容易,但是那个有一些严重的问题,但我已经找到了简单的解决方法。有关详细信息,请参阅https://docs.google.com/presentation/d/1NbN0kJMJsSQW2N7ItNMB6VuM_lJok-Xb0epk0anbRIo(我的闪电演讲幻灯片,标题为“免费在 Heroku 上进行全文搜索”)。

于 2014-12-08T12:37:23.363 回答
0

我会推荐使用 WebSolr。它是一个基于 Apache Solr 的企业级搜索系统,可以毫不费力地处理数百万个索引文档。此外,Solr 允许您为您的数据定义一个定制的结构,而不是强迫您进行简单的 FULLTEXT 搜索。它提供了额外的功能,例如分面搜索和拼写更正。

如果您不想为 Solr 付费,您可以自己托管,因为它是开源的:http: //lucene.apache.org/solr/

关于您提到的替代方案,如果您正在进行大量搜索,我不会使用任何依赖于您的应用程序数据库的东西来进行全文搜索 - 这是一个非常业余的解决方案,无法扩展。

于 2011-10-05T16:26:54.023 回答
0

Heroku建议使用插件来提供全文搜索。这为您的应用程序提供了最佳性能、可扩展性和易用性。全文搜索有两个插件:IndexTankWebsolr

于 2011-11-27T19:57:22.497 回答