【问题标题】:Zend search integration in native PHP project原生 PHP 项目中的 Zend 搜索集成
【发布时间】:2013-05-21 20:28:24
【问题描述】:

我想将 zend 搜索集成到原生 PHP 项目中。我收到各种包含错误。

我做了一些研究,似乎在zf2之前有很多关于它的旧文章。使用 zf1 它曾经是直截了当的。包括 lucene.php 就是这样。

然而,自从 zf2 发布以来,搜索组件不再是 zf2 框架的一部分,并且可以单独下载。当我包含 Lucene.php 时,脚本开始抱怨缺少类。 (包括问题)

我应该包含所有文件还是应该使用某种自动加载器?

【问题讨论】:

    标签: php zend-framework zend-framework2 zend-lucene


    【解决方案1】:

    您可以使用 Composer 安装单个 ZF2 包,这将为您处理任何自动加载和依赖关系。

    https://github.com/zendframework/ZendSearch

    你可以看到它也需要

    zendframework/zend-stdlib
    

    下载存储库,然后使用 composer 安装,这也会为您获取依赖项,并设置自动加载。

    php composer.phar install
    

    【讨论】:

      【解决方案2】:

      首先确保您已安装以下内容:

      • curl(确保你已将 curl 添加到路径环境中 变量)
      • 作曲家

      确保在命令行使用的 php.ini 中启用了 openssl。 (对于那些在 windows 上使用 wamp 的人,有两个 php ini 文件。一个用于 apache,另一个用于命令行。)

      启动命令行并使用CD命令进入你解压的目录zend搜索并运行以下两个命令

      curl -s h**ps://getcomposer.org/installer | php

      php composer.phar 安装

      在同一目录下创建一个php文件并包含.vendor/autoload.php

      创建一个创建自动加载函数来加载不同的库。目前我写了一些简单的东西如下:

      函数 autoload($classname) {
      $path = __DIR
      。 DS 。 “图书馆” .DS 。 $类名。 ".php";

      if(file_exists($path)) { 需要一次($路径);
      } }

      这应该加载不同的类,前提是您知道它们的命名空间。这是基本的自动加载器,不应使用。

      我一直在使用以下guide,但是它已经过时了,因为类的名称已被修改为如下所示:

      $indexPath = 'C:\wamp\www\storage'; $索引 = ZendSearch\Lucene\Lucene::create($indexPath);

      $doc = new ZendSearch\Lucene\Document();

      $doc->addField(ZendSearch\Lucene\Document\Field::UnIndexed('url', $docUrl)); $doc->addField(ZendSearch\Lucene\Document\Field::UnIndexed('created', $docCreated)); $doc->addField(ZendSearch\Lucene\Document\Field::UnIndexed('teaser', $docTeaser)); $doc->addField(ZendSearch\Lucene\Document\Field::Text('title', $文档标题)); $doc->addField(ZendSearch\Lucene\Document\Field::Text('author', $doc作者)); $doc->addField(ZendSearch\Lucene\Document\Field::UnStored('contents', $docBody));

      $index->​​addDocument($doc); $index->​​commit();

      【讨论】:

        猜你喜欢
        • 2011-06-10
        • 2017-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多