Ошибка Zend_Lucene - PullRequest
       42

Ошибка Zend_Lucene

0 голосов
/ 23 июня 2011

Я новичок в использовании Zend Framework. Я хотел использовать Zend_Lucene для создания небольшого книжного движка на моем веб-сайте. Я скачал полный пакет и включил его в свой Netbeans 7, и все прошло нормально, затем я прочитал руководство по началу работы на официальном сайте Zend_Lucene, я мог выполнить индексацию, но с некоторыми ошибками: Вот мой код:

require_once('ZendFramework-1.11.7/library/Zend/Search/Lucene.php');
$indexPath = 'C:\wamp\www\witswork\Documents';
$index = Zend_Search_Lucene::create($indexPath);

$index = Zend_Search_Lucene::open($indexPath);

$query = new Zend_Search_Lucene_Search_Query_MultiTerm();
$doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('url', "Plan.docx"));
$doc->addField(Zend_Search_Lucene_Field::Text('title', "Plan"));

$hits = $index->find($query);
$index->addDocument($doc);
$index->commit();

Эти файлы были созданы: И вот ошибка: _0.cfs, сегменты_2, оптимизация.lock.file, read.lock.file, чтение-блокировка-обработка.lock.file, запись.lock.file и сегменты.gen.

И эта ошибка появляется после запуска моего кода и создания индексатора:

Warning: require_once(Zend/Search/Lucene/Storage/File/Filesystem.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\witswork\Zend\Search\Lucene\Storage\Directory\Filesystem.php on line 349

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Search/Lucene/Storage/File/Filesystem.php' (include_path='.;C:\php5\pear;ZendFramework-1.11.7/library/Zend') in C:\wamp\www\witswork\Zend\Search\Lucene\Storage\Directory\Filesystem.php on line 349

Я прочитал, что для этого нужно включить библиотеку в мой include_path, я обошел свои Netbeans и подумал, что получил, вот скриншот: enter image description here Пожалуйста, поддержите мою проблему, она мне нужна для дипломного проекта! Заранее спасибо! Привет!

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

У меня просто была похожая проблема, и я понятия не имел, почему Zend_Lucene просто не будет работать. Это всегда придумали

Warning: require_once(Zend/Search/Lucene/Storage/File/Filesystem.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\witswork\Zend\Search\Lucene\Storage\Directory\Filesystem.php on line 349

проблема была в том, что мой путь включения (set_include_path) вызвал эту проблему, поскольку я предоставил только относительную ссылку на Zend Framework.

Я решил эту проблему, указав абсолютный путь к библиотеке Zend Framework - поэтому мой самый маленький пример кода, чтобы увидеть, работает ли Lucene, выглядит следующим образом:

<?php

$zendPath = realpath('../_lib/ZendFramework-1.11.11/library/');

set_include_path($zendPath.PATH_SEPARATOR.get_include_path());
include 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance(); 

$index = Zend_Search_Lucene::create('test');

?>
0 голосов
/ 23 июня 2011

Не используйте этот «Глобальный путь включения» в Netbeans. Вместо этого используйте функцию set_include_path () в вашем исходном файле php (index.php).

...