【问题标题】:MySQL full-text search in Rails?Rails 中的 MySQL 全文搜索?
【发布时间】:2010-02-20 22:25:01
【问题描述】:

当我在我的第一个 Rails 应用程序中添加搜索功能时,我使用了 Sphinx,在读到使用 MySQL 的内置全文搜索是一个坏主意之后。虽然 Sphinx 运行良好,但设置起来有点复杂,而且我觉得我的应用程序中需要的简单搜索功能太多了。

在我的网站上搜索并不频繁(最多每 3-4 秒搜索一次),所以我不太担心负载。

我的问题:与 Sphinx/Ferret/Solr/etc 相比,为什么使用 MySQL 的全文搜索是个坏主意?

【问题讨论】:

    标签: mysql ruby-on-rails search full-text-search sphinx


    【解决方案1】:

    MySQL 是一个关系数据库,而不是一个搜索服务器,所以我们正在谈论使用不是专门为该任务构建的东西。话虽如此,MySQL 的全文搜索工作得很好。但是,如果您需要扩展,那就不好了。

    1. 您不希望您的数据库服务器做更多的事情,因为它通常是应用程序的瓶颈,即使没有运行全文搜索之类的东西。
    2. MySQL 全文搜索要求您使用 MyISAM 引擎,如果您关心数据的一致性,这是一个问题。
    3. MyISAM 不支持 InnoDB 等引擎支持的许多增强型数据验证工具,因此从 MyISAM 开始通常处于劣势。

    但是,YMMV 并且如果您的应用程序能够承受 MyISAM 的缺点,那么一定要使用它。只要知道它对于大多数任务(不是全部,而是大多数)来说都不是一个很好的生产引擎。

    【讨论】:

    • 顺便说一句,我没有提到许多其他 MyISAM 与 InnoDB 项目,因为我认为这些都是众所周知的,你可以谷歌搜索信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2010-10-22
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多