【问题标题】:RoR: Optimal Search Package for 16k+ Record DatabaseRoR:16k+ 记录数据库的最佳搜索包
【发布时间】:2012-02-14 09:27:50
【问题描述】:

我在 (psql) 中有一个包含大约 16,000 条记录的数据库;它们是电影的标题。我试图找出搜索它们的最佳方法是什么(目前正在通过网络在 Heroku 托管的 Ruby on Rails 网站上搜索它们)。但是,某些查询(例如搜索“a”之类的内容)可能需要长达 20 秒的时间。然而,我正在考虑使用 Sphinx,此类包被宣传用于全文搜索,所以我想知道这是否适合我的问题。任何建议将不胜感激。

【问题讨论】:

  • 20 秒的查询对于只有 16k 条记录来说似乎相当大。您的查询是如何组合在一起的?

标签: ruby-on-rails postgresql heroku sphinx thinking-sphinx


【解决方案1】:

16000 条记录在数量和大小(如您所说的标题)上都太少,不符合搜索引擎搜索的条件。尝试对您的数据库进行正常的全文搜索。设置索引以使其更快。

但是,这并不能阻止您尝试使用 Sphinx 或 Solr 等搜索引擎。两者都是开源的。狮身人面像也很容易设置。但再次重申没有必要这样做,因为数据量太小并且属于数据库全文搜索的领域。

【讨论】:

    【解决方案2】:

    如果您的数据库在 PSQL 上,那么 sphinx 是不可能的,因为到目前为止 heroku postgres 不支持与 sphinx 一起使用,所以目前剩下的选择是使用 solr,它也适用于全文搜索和一些简单的步骤让它实现。

    【讨论】:

    • 不是真的——Heroku 上有 Flying Sphinx(我构建了它),所以如果你想要一个可靠的 Heroku 应用全文搜索工具,你可以使用 Sphinx 或 Solr(或 Searchify/IndexTank) .
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    相关资源
    最近更新 更多