Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
原生PHP项目中的Zend搜索集成_Php_Zend Framework_Zend Framework2_Zend Lucene - Fatal编程技术网

原生PHP项目中的Zend搜索集成

原生PHP项目中的Zend搜索集成,php,zend-framework,zend-framework2,zend-lucene,Php,Zend Framework,Zend Framework2,Zend Lucene,我想将zend search集成到本地PHP项目中。我得到了各种各样的包含错误 我做了一些研究,似乎在zf2之前有很多关于它的老文章。对于zf1,它过去是直截了当的。包括lucene.php,就是这样 但是,自从zf2发布以来,搜索组件不再是zf2框架的一部分,可以单独下载。当我包含Lucene.php时,脚本开始抱怨缺少类。包含问题 我应该包括所有文件还是应该使用某种自动加载程序?您可以使用Composer来安装单个ZF2软件包,这将为您处理任何自动加载和依赖关系 你可以看到它也需要 zend

我想将zend search集成到本地PHP项目中。我得到了各种各样的包含错误

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

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


我应该包括所有文件还是应该使用某种自动加载程序?

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

你可以看到它也需要

zendframework/zend-stdlib
下载存储库,然后使用composer安装,这也将为您获取依赖项,并安装自动加载

php composer.phar install

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

你可以看到它也需要

zendframework/zend-stdlib
下载存储库,然后使用composer安装,这也将为您获取依赖项,并安装自动加载

php composer.phar install

首先,请确保已安装以下组件:

curl确保已将curl添加到路径环境中 变量 创作者 确保命令行使用的php.ini中已启用openssl。对于在windows上使用wamp的用户,有两个PHPINI文件。一个用于apache,另一个用于命令行

启动命令行并使用CD命令转到解压缩zend search的目录,然后运行以下两个命令

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

php composer.phar安装

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

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

函数自动加载$classname { $path=\uu DIR.DS.library.DS.$classname..php

iffile_存在$path { 需要一次$path; } }

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

我一直在使用以下内容,但它已经过时,因为类的名称已修改为以下内容:

$indexPath='C:\wamp\www\storage'$索引= ZendSearch\Lucene\Lucene::创建$indexPath

$doc=新ZendSearch\Lucene\Document

$doc->addFieldZendSearch\Lucene\Document\Field::未索引的“url”, $docUrl; $doc->addFieldZendSearch\Lucene\Document\Field::未索引的“已创建”, $docCreated; $doc->addFieldZendSearch\Lucene\Document\Field::未索引的“摘要”, $docTeaser; $doc->addFieldZendSearch\Lucene\Document\Field::Text'title', $docTitle; $doc->addFieldZendSearch\Lucene\Document\Field::Text'author', $docAuthor; $doc->addFieldZendSearch\Lucene\Document\Field::未存储的“内容”, $docBody

$index->addDocument$doc$索引->提交


首先,请确保已安装以下组件:

curl确保已将curl添加到路径环境中 变量 创作者 确保命令行使用的php.ini中已启用openssl。对于在windows上使用wamp的用户,有两个PHPINI文件。一个用于apache,另一个用于命令行

启动命令行并使用CD命令转到解压缩zend search的目录,然后运行以下两个命令

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

php composer.phar安装

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

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

函数自动加载$classname { $path=\uu DIR.DS.library.DS.$classname..php

iffile_存在$path { 需要一次$path; } }

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

我一直在使用以下内容,但它已经过时,因为类的名称已修改为以下内容:

$indexPath='C:\wamp\www\storage'$索引= ZendSearch\Lucene\Lucene::创建$indexPath

$doc=新ZendSearch\Lucene\Document

$doc->addFieldZendSearch\Lucene\Document\Field::未索引的“url”, $docUrl; $doc->addFieldZendSearch\Lucene\Document\Field::未索引的“已创建”, $docCreated; $doc->addFieldZendSearch\Lucene\Document\Field::未索引的“摘要”, $docTeaser; $doc->addFieldZendSearch\Lucene\Document\Field::Text'title', $docTitle; $doc->addFieldZendSearch\Lu cene\Document\Field::Text'author', $docAuthor; $doc->addFieldZendSearch\Lucene\Document\Field::未存储的“内容”, $docBody

$index->addDocument$doc$索引->提交