Как вызвать функцию поиска Zend Lucene?

Я унаследовал проект Zend, лишенный комментариев, и мне не удалось поговорить с предыдущим разработчиком. Поскольку у меня нет опыта Zend, у меня есть некоторые проблемы:)

Я хотел бы распечатать некоторые переменные внутри функции, которая индексирует элементы с сайта, используя Zend_Search_Lucene, потому что я думаю, что здесь что-то идет не так.

Из того, что я прочитал,:: create создает новый индекс, а:: open обновляет его. Так что именно в этой:: открытой функции я хотел бы распечатать некоторые переменные.

Название и параметры функции приведены ниже. Кто-нибудь знает, как эта функция может быть вызвана, чтобы я мог запустить некоторые тесты?

private function search($category,$string,$page = 1,$itemsByPage = 5)

РЕДАКТИРОВАТЬ: ИЛИ, есть ли способ, которым я могу обнулить существующий индекс и заставить его полностью перестроить, например, путем удаления файлов индекса на FS и затем выполнить некоторые поиски?

2 ответа

Хорошие примеры - ZendFramework-1.9.6/demos/Zend/Search/Lucene

ZF полный дистрибутив

Вот некоторый код для создания индекса с нуля:

Zend_Search_Lucene_Analysis_Analyzer::setDefault(new StandardAnalyzer_Analyzer_Standard_English());

$tmpIndexDir = '/your/index/dir/'
$index = Zend_Search_Lucene::create($tmpIndexDir);

foreach($myObjects as $myObject){

    $doc = new Zend_Search_Lucene_Document();
    $doc->addField(Zend_Search_Lucene_Field::UnIndexed('objectId', $myObject->getId()));
    $contents = $myObject->toString();
    $contentsField = Zend_Search_Lucene_Field::Text('contents', $contents);
    $doc->addField($contentsField);
    $index->addDocument($doc);
}

$index->optimize();

... не помню, откуда у меня стандартный анализатор...

Другие вопросы по тегам