Как вызвать функцию поиска 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
Вот некоторый код для создания индекса с нуля:
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();
... не помню, откуда у меня стандартный анализатор...