gpt4 book ai didi

Rails 中的 MySQL 全文搜索?

转载 作者:可可西里 更新时间:2023-11-01 08:08:22 26 4
gpt4 key购买 nike

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

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

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

最佳答案

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

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

但是,YMMV,如果您的应用程序能够承受 MyISAM 的缺点,无论如何,请使用它。只知道它不是大多数任务(不是全部,而是大多数)的出色生产引擎。

关于Rails 中的 MySQL 全文搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2303992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com