【问题标题】:Which DB/DB Engine supports search well?哪个 DB/DB Engine 能很好地支持搜索?
【发布时间】:2023-03-10 19:13:01
【问题描述】:

我正在创建一个严重依赖搜索的网站。虽然一开始它可能会搜索基本元数据,但未来可能会发展到更大的范围。

那么在搜索性能和未来可扩展性方面,您认为哪个 DB/DB 引擎最好?

感谢您的帮助

【问题讨论】:

    标签: php database search


    【解决方案1】:

    这取决于您搜索的内容。

    如果您进行大量文本搜索,那么您需要的不仅仅是数据库 - 您还需要搜索算法。您可以在网上找到它们,它们可以使用多个数据库作为后端。

    但是,如果您只进行简单的文本搜索,那么 MySQL MyISAM 会提供全文搜索,我将其用于少量文本(小于几 GB)。

    其他搜索包括使用键和索引,这可能会将您引导至 PostgreSQL,因为它具有坚如磐石的 ACID 合规性或 MySQL 与 INNODB。

    【讨论】:

      【解决方案2】:

      什么是“搜索”?您在寻找什么以及您期望什么样的查询?

      PostgreSQL 非常强大,有全文搜索、btree、hash、gin 和 gist 索引。您还可以配置自己的类型和运算符,一切都可以优化您在数据库中的搜索。您可以根据自己的情况使用和调整它。

      PostgreSQL 很容易与 PHP 一起使用,完全没有问题。而且它是免费的,有点像 BSD 许可证。

      【讨论】:

      • 最初它会搜索微博的字段(正文、标题、日期...等)。忘了说“你是不是故意的”功能是必须的。
      【解决方案3】:

      根据您所说的“搜索”,任何数据库系统都可能工作。 (MySQL 是众所周知的快速 RDBMS)。

      如果您真正需要的是“全文搜索”,那么您应该查看 MySQL FULLTEXT 索引(仅可用于 MyISAM 后端 IIRC)、Lucene 或 Xapian。

      Zend 框架(用 PHP 编写)有一个现成的 lucene 适配器,请参阅:http://devzone.zend.com/article/91

      【讨论】:

      • 最初它会搜索微博的字段(正文、标题、日期...等)。忘了说“你是不是故意的”功能是必须的。
      • 请阅读我上面提到的文章。这正是您所需要的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      相关资源
      最近更新 更多