【问题标题】:Is Solr a Good Solution for the Problem Described Below?Solr 是解决下面描述的问题的好方法吗?
【发布时间】:2011-08-23 23:26:43
【问题描述】:

我正在为一家非营利组织做志愿者,首席执行官想要一个存储大学教授简历的应用程序。简历应是可搜索的,以便可能的雇主可以找到它们。简历可以是多种格式,包括 pdf 或 Word。

该网站目前基于 Joomla!,但可能会迁移到 Drupal。无论哪种情况,开发人员都熟悉 PHP。我熟悉 PHP 和 Java。

这个应用程序的最佳架构是什么?我正在考虑:

  1. 安装 SOLR 的 Java 或 PHP 版本并链接到它 通过 PHP,使用 PHP Solr 扩展。
  2. 直接使用 PHP 版本的 Lucene 并绕过 Solr。
  3. 使用 Search Lucene API Drupal 扩展,它提供了类似 Solr 的功能。

如果我遗漏了任何可能性,请告诉我。

另外,我在亚马逊上找不到一本关于 Solr 的好书。不过,Lucene 上有一个很好的(In Action 系列)。不幸的是,它只是简单地提到了 Solr。为了了解如何更好地使用 Solr,是否值得阅读一本关于 Lucene 的好书,或者我会浪费我的时间/金钱?我也找不到任何关于 Solr 的好书……但也许你可以推荐一本。

【问题讨论】:

  • “是否值得阅读一本关于 Lucene 的好书以...”?不,我只是使用 Solr 教程,从未接触过 lucene 文章。我使用了 Solr wiki,在我遇到困难的地方,我使用了 Lucid Imagination 的免费电子书“Solr 1.4 Enterprise Search Server”。那本书有些地方不完整,但它..ahem..以行动为导向。

标签: php apache drupal lucene solr


【解决方案1】:

是的,Solr 是一个很好的匹配:

选择 Solr 不仅关乎其性能,还关乎其功能和灵活性。

关于 Solr 书籍,请参阅:

有关 Lucene 的书籍将帮助您了解文本是如何在后台处理的,如果您需要微调文本分析,这可能会派上用场,但我建议您从一本有关 Solr 的书籍开始。

【讨论】:

  • 如果我使用 Solr 来索引和搜索这些二进制文档,它会将它们存储在文件系统中还是 MySQL 数据库中?
  • @Sam:你可以将文件存储在任何你想要的地方,它与 Solr 是正交的。
【解决方案2】:

Solr 是一个不错的选择,但是根据您的要求,我建议您使用 Sphinx 搜索引擎,该引擎具有出色的文档记录良好的 PHP API。请注意,我喜欢 Solr 的一些出色功能,但 Solr 在索引算法(即磁盘上的索引时间和索引大小)方面无法击败 Sphinx。

Solr 上有一本很棒的书 - Solr 1.4 Enterprise Search Server [PACKT PUBLISHING]。您还可以阅读有关 Solr 的 IBM Developer works 很棒的文章。在 Google 上搜索“使用 Solr IBM Developerworks 进行智能搜索”。

PS:我仍然觉得 Sphinx 是你的最佳选择。

【讨论】:

  • Solr 可以与 NoSQL 数据库一起使用吗? NoSQL 数据库对于这个应用程序和一般来说有什么优势?你会推荐什么 NoSQL 数据库?
  • 对不起。实际上,您实际上并不需要 NoSQL 数据库,我有点误解了您的问题。请试用 Sphinx,它将非常适合您的应用程序(使用 Sphinx 开始索引和搜索将花费很少的时间)。
【解决方案3】:

根据您的解释,没有 Solr 不是很好的匹配项。

如果需要,您将能够通过 mysql 进行全文搜索。您提到 Joomla 和 Drupal 的事实显然表明这是您正在使用的 RDMS。

如果我要从头开始这个项目,我可能会使用一些 noSQL 引擎,比如 MongoDB 来创建我的简历文档。 www.mongodb.com

这就是我持久化我的数据的方式。

如果想搜索文档,我只会考虑使用 Solr,如果我希望每天有成千上万的搜索。如果您只期望每天进行 100 到 1000 次搜索,那么实际上不需要执行 Solr 应用程序。

而且,回答你关于 Solr 的书问题,我拥有并推荐的书是 http://www.packtpub.com/solr-1-4-enterprise-search-server/book,但我相信你可能会找到一些更新的东西。我是在 18-24 个月前买的。

您首先要存储每个人的详细信息......所以

【讨论】:

  • 你建议他如何让 MySQL 索引 PDF 和 DOC? Solr 几乎没有那么难设置,尤其是使用 Drupal/Joomla/等。内置集成。
  • 对不起,我忘记了在 Solr 之外的任何地方都不可能阅读 PDF 和 .docs。 讽刺>
  • 这当然不是不可能的,但它已经内置在 Solr 中。您谈到“实现 Solr 应用程序的工作”(我花了大约 45 分钟为 Drupal 设置 Solr),同时掩饰了在 MySQL 中索引 PDF 和 DOC 的工作。
  • 碰巧我是从头开始这个项目——但为什么要使用 NoSQL/MongoDB?
  • 好吧,我的理由是,当您存储文档(例如简历信息)时,如果您希望允许用户在线创建他们的简历,那么 mongodb 将非常适合此。那是因为事先为 CV 建模非常困难。如果您要通过 mysql 进行操作,您可能会想对他们的所有字段、资格等使用 EAV 方法。而 mongodb 您可以创建所有字段。
猜你喜欢
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-24
相关资源
最近更新 更多