в моей начальной загрузке:
protected function _initLucene()
{ Zend_Search_Lucene::create(APPLICATION_PATH . '/lucene')->setDefaultSearchField('userName'); }
в моем картографе данных:
public function test1() {
$lucene = Zend_Search_Lucene::open(APPLICATION_PATH . '/lucene');
$document = new Zend_Search_Lucene_Document();
$document->addField(Zend_Search_Lucene_Field::Text('userName', 'someValue'));
$lucene->addDocument($document);
$lucene->commit();
return $lucene->count(); # returns 1, correct
}
public function test2() {
$lucene = Zend_Search_Lucene::open(APPLICATION_PATH . '/lucene');
return $lucene->count(); # returns 0, incorrect!!
}
в моем indexController:
public function indexAction() {
echo $myMapper->test1() # prints 1
}
public function testAction() {
echo $myMapper->test2() # prints 0 ??
}
В качестве информации я использую windows / ntfs / xampp и zf 1.11.11. Поэтому, когда я сначала направляю свой браузер в / index / index, lucene правильно печатает 1, но когда я продолжаю перенаправлять в / index / test, lucene неправильно печатает 0. Разве нельзя разместить addDocument () и find () в разных местах? / функции, так как я планирую поместить find () в testAction и test2?
пожалуйста, помогите мне определить проблему
p.s.
я пробовал следующее:
- Превращение $ myMapper в статическое
- перемещение кода из картографа в контроллер
оба не имеют значения