【问题标题】:What is the best search Algorithm for PHP & MYSQL? [closed]PHP 和 MYSQL 的最佳搜索算法是什么? [关闭]
【发布时间】:2011-06-22 04:36:07
【问题描述】:

我想在我的网站上搜索文章 - 可以只使用简单的“LIKE”语句,还是有更好的搜索算法与 MySQL 一起使用? (重要的是要高效)

【问题讨论】:

    标签: php mysql search


    【解决方案1】:

    我会考虑使用 Apache Solr https://lucene.apache.org/solr/ 或弹性搜索 http://www.elasticsearch.org/

    【讨论】:

    • 您能否扩展您的答案,说明为什么这些是合适的。否则它只是一个链接。
    【解决方案2】:

    可以只使用简单的“LIKE”语句还是有更好的 与 MySQL 一起使用的搜索算法? (重要的是要高效)

    喜欢

    如果高效很重要,那么我认为LIKE is absolutely not the way to go

    全文搜索:392 秒全文搜索(缓存):272 秒

    Full Text Boolean Mode 12 Sec Full Text Boolean (Cached) 11 Sec

    Mnogosearch(外部​​)3.5 秒 Mnogosearch(外部​​缓存)1.06 秒

    Sphinx 0.23 秒 Sphinx 缓存 0.15 秒

    LIKE %...% 30 秒秒 LIKE %...%(缓存)29 秒秒

    Sphinx

    可能Sphinx 是最有效的方法,它也支持MySQL。老实说,我自己从未使用过Sphinx,但一些非常大的网站使用它。

    设置另一个(可能是最后一个)替代方案可能更难。

    MySQL full-text search

    我也认为MySQL full-text-search 可能足够快并且更易于使用。

    【讨论】:

      【解决方案3】:

      您应该考虑使用Full-Text Search
      它还可以帮助您了解Tradeoffs of MySQL LIKE vs Full-Text

      【讨论】:

      • 注意:MySQL 链接参考 5.0 文档。在 5.0 中,FTS 仅允许在 MyISAM 表上使用。在 MySQL 版本 >= 5.6 中,MyISAM 和 InnoDB 都允许 FTS。
      猜你喜欢
      • 2011-04-15
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多