Попытка использовать Zend_Search_Lucene для поиска в базе данных MySql и отображения результатов. Выполняю следующий код и не могу понять, почему я не получаю никакой информации в свой index. Совершенно новый для PHP, MySql и Zend, но я провел последнюю неделю, пытаясь разобраться в этом самостоятельно, и исчерпал все ресурсы, которые мог найти. Во всяком случае, я повторил то, что выходит из моей базы данных, чтобы убедиться, что мой запрос работает, и, похоже, все в порядке. Он также отлично создает индексные файлы, но когда я взглянул на него с помощью Luke Toolbox, я не получил ничего, кроме списка созданных полей, заполненных гусиными яйцами. Чтобы убедиться, что я использую это правильно, я нашел код, использующий Zend_Feed, прогнал его через Lukes и получил всевозможные результаты. Также могу получить результаты из того же кода на моей тестовой странице результатов, но получаю 0 при использовании приведенного ниже кода. Кажется, я не могу проиндексировать информацию о базе данных, хотя счетчик говорит мне, что было проиндексировано 5 документов (это количество строк в моей таблице базы данных), и я не получаю никаких ошибок. Сценарий библиотеки - это просто сценарий автозагрузчика, и я установил соединение с базой данных, которое, как я подтвердил, также работает. Хотя, вероятно, я упускаю очевидное или демонстрирую, какой я на самом деле новичок, любая помощь будет очень благодарна.
<?php>
require_once('scripts/library.php');
require_once ('Zend/Search/Lucene.php');
$index = Zend_Search_Lucene::create('./docindex');
$sql = ('SELECT * FROM news');
foreach ($db->query($sql) as $row){
echo $row ['author'];
echo $row['headline'];
echo $row ['source'];
}
foreach ($row as $document){
$document = new Zend_Search_Lucene_Document ();
$document->addField(Zend_Search_Lucene_Field::Text ('author', $docAuthor));
$document->addField(Zend_Search_Lucene_Field::Text ('headline', $docHeadline));
$document->addField(Zend_Search_Lucene_Field::Text ('source', $docSource));
$document->addField(Zend_Search_Lucene_Field::Unstored ('contents', $docStory));
$index->addDocument($document);
}
$index->commit();
echo $index->count()." documents have been indexed.\n";
?>