【问题标题】:Text search options for a Web app?Web 应用程序的文本搜索选项?
【发布时间】:2010-11-06 10:50:09
【问题描述】:

我将在小型 CentOS VPS 上使用 Rails 和 MySQL 实现一个 Web 应用程序。 (小型服务器,开始时用户群有限。)它将存储大量文本,有点像博客。我想提供强大的搜索选项——括号、AND、OR、精确短语。

另一个原因是数据是私有的,因此使用 Google 或其他一些外部托管的搜索提供程序可能是不可能的。

我对 PostgreSQL 的内置全文搜索功能有一些经验,但对于这个东西,它将是 MySQL。我查看了 MySQL 文档,我认为 MySQL 的全文索引听起来不太好。

只使用%LIKE% 查询怎么样?那曾经做过吗?如果我这样做,是否意味着数据库引擎必须为每次搜索检查列中的每个字符?我不确定。

任何想法或建议将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    之前对此的一些讨论。我个人在生产中使用过 Ferret,在几乎生产中使用过 Sphinx,并在 Xapian 中使用。除非我绝对需要简单的结果文本突出显示,否则我今天会为新项目选择 Sphinx。

    What's the best option for searching in Ruby on Rails?

    How do I do full-text searching in Ruby on Rails?

    Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?

    【讨论】:

      【解决方案2】:

      MySQL 的全文搜索功能非常有限(仅限 MyISAM,除此之外还有许多其他限制)——但是,Sphinx 非常强大,并且它可以使用 MySQL 自己的协议,所以它可以“坐在”您的客户端和您的 MySQL 服务器之间,直接传递大多数请求,但处理全文请求,如果您想安装和使用它(当然还有其他选项!)。

      【讨论】:

        【解决方案3】:

        Ferret 是 Lucene 的 Ruby 端口。该网站现在似乎有问题。
        您可以在O'Reilly 阅读更多内容。

        【讨论】:

          猜你喜欢
          • 2020-10-08
          • 1970-01-01
          • 2013-09-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-12
          • 2016-04-08
          • 1970-01-01
          相关资源
          最近更新 更多