【问题标题】:php mysql fulltext search: lucene, sphinx, or?php mysql全文搜索:lucene,sphinx,还是?
【发布时间】:2010-10-30 21:05:39
【问题描述】:

这确实与Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?相似(但不是重复),但是我正在寻找的是具体的、受支持的、来自多个可用经验的建议系统(似乎有很多:“我使用过 lucene,但没有使用 sphinx”,反之亦然)。

设置:标准 LAMP(Mysql 5.0、PHP 5)。

MySQL:表使用 InnoDB 引擎进行外键约束

我们正在查看索引数据,而不是页面。要索引的数据可能是多种语言(utf-8 字符集)

我遇到的一些比较(如http://blog.evanweaver.com/articles/2008/03/17/rails-search-benchmarks/)要么不完全适用(ferret 是一个 lucene 端口,但与 Zend_Search_Lucene 不同),要么他们正在推动自己的系统/实现(并非完全公正)。

我遇到的其他一些(例如http://whatstheplot.com/blog/tag/lucene/http://pagetracer.com/2008/02/15/sphinx-and-lucene-search-engines-first-impressions/)为这两个系统的性能提供了非常不同的结果。

另外,在我读过的大部分内容中几乎被忽略的是Xapian。这也值得考虑吗?

所以...我希望你们这里的一些人对这个问题有一些经验,可以帮助提出一些建议或为我指明正确的方向。

【问题讨论】:

    标签: php mysql search lucene sphinx


    【解决方案1】:

    Sphinx 的一个优点是您可以在客户端和 MySQL 服务器之间“插入”它,并且它只会“干扰”专门针对它的查询,透明地将其他查询从 MySQL 中反弹——参见例如 this article。无论这是否是您的用例中的优势,您都可以说!

    抱歉,没有使用 Xapian 或 Lucene 的实际经验——尽管如此,阅读有关如何部署它们的信息,听起来(对我来说!)好像只有在您发现实质性优势时才值得。否则,Sphinx 的“简单易用”部署,作为您的客户端和 MySQL 服务器之间的“代理”,对我来说就像是一个巨大的、实质性的胜利!

    【讨论】:

    • Sphinx 似乎有很多优势,但鉴于 lucene 有一些相当直言不讳的拥护者,我希望听到一些在这两个方面都有经验的人的意见
    • 最后,我继续测试了 sphinx,目的是测试 Lucene(也许还有 Xapian),但老实说,它与 PHP/MySQL 设置的集成如此顺利,我发现很难证明把时间花在其他人身上是合理的。
    【解决方案2】:

    我在 Zend_Search_Lucene 和 Sphinx 中寻找了一个听起来相似的项目 - 搜索数据库内容(在我的例子中是书籍信息)。我花了大约一天的时间看着每个。对于它的价值,我发现 Sphinx 非常容易设置和使用。

    【讨论】:

    • +1 感谢您的洞察力。到目前为止,我一直对 Sphinx 感到惊喜,它使搜索的集成比我预期的要容易得多。一旦数据库有更多数据,我们将能够了解更多。我还没有尝试过 delta 索引合并,但希望它们会像看起来一样容易实现
    猜你喜欢
    • 2011-11-23
    • 2016-02-18
    • 2011-10-12
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多