【问题标题】:Lucene with PHPLucene 与 PHP
【发布时间】:2011-01-01 21:53:09
【问题描述】:

我可以将 Lucene 与 PHP 一起使用吗?我不想使用 Zend。我可以在原生 PHP(不是框架)中使用吗?

【问题讨论】:

  • “我可以”是一个非常广泛的问题。当然可以”。然而,合理吗?请扩展您的问题以说明您打算如何使用它。
  • 我想在 Lucene 中使用全文搜索。 MySQL 搜索超过 800 万条记录的速度太慢。所以,我想试试 Lucene

标签: php lucene


【解决方案1】:

我建议使用Apache SOLR 作为您的 Lucene 后端,并通过您的 PHP 代码中的 Web 服务调用进行连接。

我还注意到,无需加载整个框架即可轻松挑选 Zend 框架的组件以在您的应用程序中使用。您可以在您的站点中使用 Zend_Search_Lucene 并放弃 Zend 的 MVC、数据库和相关组件。

【讨论】:

  • 谢谢。我将尝试使用 Apache SOLR
  • 我想标记一个建议(个人偏好),您使用 JSON 而不是 XML 来检索结果。
【解决方案2】:

另外值得注意的是,SOLR (http://lucene.apache.org/solr/) 有一个简单的 HTTP API,并且是建立在 Lucene 之上的,所以如果它提供了你需要的东西,那么这就是一个简单的答案!

我没有直接使用 Lucene 和 PHP 的经验,所以我会听从专家的意见。

【讨论】:

    【解决方案3】:

    我推荐 apache SOLR,然后为 solr 使用 php 扩展。 http://php.net/manual/en/book.solr.php

    不需要zend框架,只需要原生php

    【讨论】:

      【解决方案4】:

      当您说您不想使用 Zend 时,我假设您的意思是您不想使用整个 Zend 框架。好吧,您不必这样做 - 各个 Zend 组件可以单独使用,而无需成为 Zend 框架项目的一部分。

      【讨论】:

      • 怎么样?有待办事项吗?
      • 好吧,我在 5 年前写了这个答案,那时你只需下载框架,将其粘贴到包含路径中,然后 require_once 你需要的文件(例如 Zend/Lucene/Search.php ),或使用自动加载,并按照文档中的方式访问该类。现在我们有作曲家,这使它更容易。 Zend 1 中的 Zend Lucence 实际上在 composer - packagist.org/packages/zf1/zend-search-lucene 上可用。关于如何使用作曲家的说明可以在这里找到:getcomposer.org/doc/01-basic-usage.md
      【解决方案5】:

      我正在使用 Lucene 和 PHP 在 Java 上进行系统调用,例如:

      java ... .SearchFiles -index C:\shop\system\index -high -queries Computer* 
      

      我已经调整 SearchFiles 以生成 HTML 代码,但输出也可能是动态 PHP 代码(例如保存搜索结果的数组)。

      系统速度非常快,服务器上只需要 Java。

      【讨论】:

        【解决方案6】:

        是的,您可以使用 apache lucene 库简单地编写一个用于索引和搜索目的的 java 模块。然后你可以将它与带有 php/java 桥或 SOAP 的 php 模块合并。这对你来说将是一个很好的学习体验。

        【讨论】:

          猜你喜欢
          • 2017-07-09
          • 1970-01-01
          • 2013-08-24
          • 2011-08-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-11
          相关资源
          最近更新 更多