Zend Paginator for Solr Результат поиска - PullRequest
2 голосов
/ 06 июля 2011

Можно ли использовать Zend Paginator Class для результатов поиска Solr. Если да, пожалуйста, объясните как?

Следующий скрипт успешно работает с базой данных результатов.

$paginator = Zend_Paginator::factory($select);
$paginator->setItemCountPerPage(10);
$paginator->setCurrentPageNumber($page);

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Вероятно, здесь указывается очевидное, но ключом является создание адаптера paginator, реализующего Zend_Paginator_Adapter_Interface.

Итак, имитируя работу адаптеров-пагинаторов для запросов Zend_Db, я предполагаю, что у вас есть какой-то объект запроса Solr, который вы можете передать адаптеру при создании экземпляра.Затем в методе getItems($offset, $itemsPerPage) адаптера вы можете изменить объект запроса, используя эти предельные параметры, выполнить запрос и вернуть результаты.

0 голосов
/ 06 июля 2011

Как вы возвращаете свои результаты? Используя массив? (Возможно так: http://wiki.apache.org/solr/SolPHP#Solr.27s_PHP_response_format)

Если это так, вы можете легко создать экземпляр paginator:

$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Array($array))
or
$paginator = Zend_Paginator::factory($array);
...