mam problem ze stronicowaniem wyników wyszukiwania Zend_Search_Lucene przy wykorzstaniu Zend_Paginator.
Akcja "szukająca"
... $hits = $index->find($myQuery); $this->addFlashMessage('Niestety nic nie znaleziono'); } else { $searchSession = new Zend_Session_Namespace('search'); $searchSession->data = $hits; $searchSession->query = $myQuery; $redirector = $this->_helper->getHelper('Redirector'); }
Akcja pokazująca rezultaty ('search-results')
$searchSession = new Zend_Session_Namespace('search'); ... } $paginator = Zend_Paginator::factory($searchSession->data); $paginator->setItemCountPerPage(5) ->setPageRange(3) ->setCurrentPageNumber($this->_getParam('page')); Zend_View_Helper_PaginationControl::setDefaultViewPartial('_static/pagination/search-resoults.phtml'); $this->view->anns = $paginator;
Przy pierwszym wywołaniu obiekt $searchSession->data wydaj się być w porządku (pełna tablica obiektów Zend_Search_Lucene_Search_QueryHit), ale na dole dostaję dwa ostrzeżenia.
Warning: fseek(): supplied argument is not a valid stream resource in /opt/local/... .../Zend/Search/Lucene/Storage/File/Filesystem.php on line 93
Warning: flock() expects parameter 1 to be resource, integer given in /opt/local/... .../Zend/Search/Lucene/Storage/File/Filesystem.php on line 214
A po odświeżeniu strony ta sama zmienna staje się tablica "obciętych" obiektów
[0] => object(Zend_Search_Lucene_Search_QueryHit)#30 (4) { ["_index:protected"] => object(Zend_Search_Lucene_Proxy)#29 (1) { ["_index:private"] => NULL } ["_document:protected"] => NULL ["id"] => int(1) ["score"] => float(1) } ...
Może spotkaliście się z tym problemem, albo macie jakieś swoje inne wyjścia na stronicowanie wyników Zend_Search_Lucene?