私はインターネットで多くの情報を検索し、さまざまな提案も試みましたが、必要に応じて何も機能していないようです。ここに問題があります: Zend_Search_Lucene を使用してデータベースで検索を実行したいのですが、最初の段階で立ち往生しています.. Index を作成し、Zend をまったく動作させません。共有 Hostgator ホスト上で、この php コードを使用してインデックスを生成します。
include ('/home/username/public_html/website/config.php');
$path = '/usr/local/Zend';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once('Zend/Loader.php');
Zend_Loader::registerAutoload();
require_once ('Zend/Search/Lucene.php');
$index = Zend_Search_Lucene::create('/home/username/public_html/website/tmpbuild');
$con = mysql_connect("".$dbhost."","".$dbusername."","".$dbpass."");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("".$dbname."", $con);
$sql = ('SELECT * FROM rasti_failai');
while($eilute = mysql_fetch_array($sql))
{
$filenamesql = $eilute['failu_name'];
$dydissql = $eilute['dydis'];
$hostas = $eilute['hostas'];
$datasql = $eilute['data'];
$aprasymassql = $eilute['header'];
$titlesql = $eilute['aprasymas'];
$url = $eilute['url'];
$links = $eilute['links'];
$document = new Zend_Search_Lucene_Document ();
$document->addField(Zend_Search_Lucene_Field::unIndexed('ID', $eilute['ID']));
$document->addField(Zend_Search_Lucene_Field::Text('failu_name', $eilute['failu_name']));
$document->addField(Zend_Search_Lucene_Field::UnStored('dydis', $eilute['dydis']));
$document->addField(Zend_Search_Lucene_Field::UnStored('hostas', $eilute['hostas']));
$document->addField(Zend_Search_Lucene_Field::UnStored('header', $eilute['header']));
$document->addField(Zend_Search_Lucene_Field::UnStored('aprasymas', $eilute['aprasymas']));
$document->addField(Zend_Search_Lucene_Field::UnStored('url', $eilute['url']));
$index->addDocument($document); }
$index->commit();
echo $index->count() . " documents have been indexed.\n";
しかし、次のエラーが発生するため、Zend フレームワークを機能させることができないようです。
Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream: No such file or directory in /home/username/public_html/website/adminp/lucene.php on line 15
Fatal error: require_once() [function.require]: Failed opening required 'Zend/Loader.php' (include_path='.:/usr/lib/php:/usr/local/lib/php:/usr/local/Zend') in /home/username/public_html/website/adminp/lucene.php on line 15
私のホストにはzendフレームワーク(正確なバージョンはわかりませんが、hostgatorは最新のものを使用していると思いますが、私はphp5を使用していると思います)がインストールされており、サポートは/usr/local/Zendディレクトリにあると言います。