当前位置: 首页 > 面试题库 >

PHP的MySQL全文搜索:Lucene,狮身人面像,还是?

常元章
2023-03-14
问题内容

诚然,这 全文搜索引擎比较-Lucene,Sphinx,Postgresql,MySQL

类似
(但不是重复)。,但是我正在寻找的是针对特定的,受支持的建议,这些建议是从不止一个可用系统的经验中受益的(似乎有很多:“我使用了lucene,但没有使用狮身人面像”,反之,反之亦然。

设置:标准LAMP(MySQL 5.0,PHP 5)。

MySQL:表将InnoDB引擎用于外键约束

我们正在寻找索引数据,而不是页面。要建立索引的数据可以使用多种语言(utf-8字符集)

我遇到的许多比较(例如http://blog.evanweaver.com/articles/2008/03/17/rails-search-
benchmarks/)都不完全适用(雪貂是lucene端口,但不适用与Zend_Search_Lucene相同),或者他们正在推动自己的系统/实现(并非完全公正)。

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

另外,在我读到的大部分文章中,所有被忽略的都是Xapian。这是否也值得考虑?

所以…我希望在座的一些人对这个问题有一定的经验,可以为您提供一些建议或为我指明正确的方向。


问题答案:

Sphinx的一个优点是您可以在客户端和MySQL服务器之间“插入”它,并且它只会在专门解决它的查询上“干扰”,透明地将其他对象从MySQL弹起-
参见例如本文。在您的用例中,这是否是一个优势,您最好说一下!

抱歉,没有Xapian或Lucene的真实经验-
仍在阅读有关如何部署它们的信息,这听起来(对我来说!)似乎只有在您确定了实质优势的情况下才值得。否则,Sphinx的“简单易用”部署(作为客户端和MySQL服务器之间的“代理”)对我来说是一个巨大的巨大胜利!



 类似资料:
  • 我正在尝试构建一个基于CMU Sphinx的语音识别应用程序。我使用lmtool创建了自己的语言模型。但为了提高识别的准确性,我想调整狮身人面像。但是,对于选择absoluteBeamWidth、relativeBeamWidth、AbsoluteWordBeamWidth、languageWeight等属性,是否有任何指导原则。我不太清楚这些属性意味着什么。此外,如果有任何指向资源的链接(不包括

  • 问题内容: 我正在建立Django网站,并且正在寻找搜索引擎。 一些候选人: Lucene / Lucene与指南针/ Solr 狮身人面像 PostgreSQL内置全文本搜索 MySQl内置全文本搜索 选择标准: 结果相关性和排名 搜索和索引速度 易于使用,易于与Django集成 资源需求-网站将托管在VPS上,因此理想情况下,搜索引擎不需要大量的RAM和CPU 可扩展性 其他功能,例如“您的意

  • 在我的系统上,使用USB麦克风,我发现CMU Sphinx的最佳音频级别大约是最大音频级别的20%。这使我的语音识别准确率达到75%。如果我对其进行数字放大,识别准确率会差得多(25%)。为什么会这样?Sphinx的建议音频级别是多少?[此外,我使用的是每秒16000个样本,16位。]

  • 供参考:我的代码和这个so帖子非常相似。 谢谢

  • 问题内容: 我想在我的网页中进行全文搜索。我需要分页进行搜索。我的数据库每张表有50,000+行。我已经改变了我的表,并使其成为索引。该表始终处于更新状态,仍然有一个自动增加的列。而最新的总是在表格的末尾。 但整个查询时间将花费。我通过Google搜索了许多文章,有的文章写道,只有限制字段字长才能帮助更快地进行搜索。但作为一种类型,它会像这样改变一定的长度(我尝试过标题TEXT(500) CHAR

  • 问题内容: 这是我测试过的。 这是create语句。 等号和“赞”效果很好。所以为什么? 问题答案: 全文搜索需要多种多样的方式来消除重复的“噪音”。用最少的数据进行测试将产生较差的结果。将您的整个收藏集投入其中,以获取有意义的内容。如以下某些链接所示,甚至可以尝试搜索最小字数的设置。 停用词 有各种语言的停用词 MySql 列表,这些词表示在搜索过程中忽略的无关紧要的词。该列表已编译到服务器中,