加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

任何原因不使用PostgreSQL的内置全文搜索Heroku?

发布时间:2020-12-13 16:50:08 所属栏目:百科 来源:网络整理
导读:我准备在Heroku上部署一个需要全文搜索的Rails应用程序。到目前为止,我一直在使用MySQL与Sphinx VPS上运行它。 但是,如果我想在Heroku上使用Sphinx或Solr,我需要支付一个附加组件。 我注意到PostgreSQL(在Heroku使用的数据库)有内置的全文搜索能力。 有没
我准备在Heroku上部署一个需要全文搜索的Rails应用程序。到目前为止,我一直在使用MySQL与Sphinx VPS上运行它。

但是,如果我想在Heroku上使用Sphinx或Solr,我需要支付一个附加组件。

我注意到PostgreSQL(在Heroku使用的数据库)有内置的全文搜索能力。

有没有原因,我不能使用Postgres的全文搜索?它比Sphinx慢还是有其他一些主要的限制?

编辑,2016 – 为什么不是两个?

如果你对Postgres和Lucene感兴趣,为什么不呢?查看Postgres的ZomboDB扩展,它将Elasticsearch集成为第一类索引类型。仍然是一个相当早期的项目,但它看起来真的有希望我。

> https://github.com/zombodb/zombodb

(技术上不在Heroku上,但仍值得一看。)

披露:我是Websolr和Bonsai Heroku附加组件的共同创始人,所以我的观点有点偏向卢塞恩。

我对Postgres全文搜索的看法是,它对于直接的用例是相当固定的,但有很多原因为什么Lucene(以及因此Solr和ElasticSearch)在性能和功能方面都优越。

对于初学者,jpountz提供了一个真正优秀的技术答案的问题,Why is Solr so much faster than Postgres?这是值得一两读,真的消化。

我还评论了一个recent RailsCast episode比较Postgres全文搜索与Solr的相对优缺点。让我在这里回顾一下:

Postgres的实用优势

>重复使用您已在运行的现有服务,而不是设置和维护(或支付)其他东西。
>远远优于异常缓慢的SQL LIKE操作符。
>减少保持数据同步,因为它都在同一个数据库 – 没有应用程序级集成与一些外部数据服务API。

Solr(或ElasticSearch)的优点

在我的头顶,没有特定的顺序…

>单独缩放索引和搜索负载与常规数据库负载。
>更灵活的术语分析,??如语调标准化,语言词干,N-gram,标记移除…其他酷的功能,如拼写检查,“丰富的内容”(例如,PDF和Word)提取…
> Solr / Lucene可以做的一切在Postgres full-text search TODO list只是罚款。
>更好和更快的术语相关性排名,在搜索时高效定制。
>对于常见字词或复杂查询,搜索效果可能会更快。
>可能比Postgres更高效的索引性能。
>通过从主数据存储区中分离索引,更好地适应数据模型中的更改

显然,我认为基于Lucene的专用搜索引擎是更好的选择。基本上,你可以认为Lucene是事实上的搜索专家的开源库。

但是如果你唯一的其他选项是LIKE运算符,那么Postgres全文搜索是一个明确的胜利。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读