Добавление PAGINATION в результат поиска Zend Lucene в codeigniter

Всем привет, я пытаюсь интегрировать поисковую систему Zend Lucene с codeigniter. Но проблема в том, как я могу отформатировать результат поиска в разбиении на страницы в Codeigniter.

ниже код поиска:

$query//keyword to search                
$index = Zend_Search_Lucene::open(DOCROOT . 'data/index'); //opening index
$hits['post']= $index->find($query); //getting the search result

Пожалуйста помогите мне друзья


person Bijak Antusias Sufi    schedule 16.03.2011    source источник
comment
Какое это имеет отношение к кохане?   -  person zombor    schedule 16.03.2011


Ответы (1)


Ваш контроллер должен выглядеть так:

$this->load->library('pagination');
$query_result = $index->find($query);

$offset = $this->uri->segment(3,0);
$limit = 10;

// this is the cool part, which you don't know
    $set= array();                                      
    for($i=$offset; $i< $limit + $offset; $i++)
    {
        if(array_key_exists($i, $query_result)){
            $set[]= $query_result[$i];
        }else{
            break;  
        }
    }
//end of cool part

$config['base_url'] = base_url().'search/index/';
$config['total_rows'] = count($query_result);
$config['uri_segment'] = 3;
$config['per_page'] = $limit;
$config['num_links'] =10;
$this->pagination->initialize($config);
$data['links'] = $this->pagination->create_links();
$data['results'] = $set;// pass the paginated resulted to the view
$this->load->view('myview',$data);

И ваш вид должен выглядеть так

<?php foreach($results as $result):?>
<?=$result->title?>
<?=$result->detail?>
<?=$result->post_date?>
<?php endforeach;?>

<?=$links?>//the pagination links
person angry kiwi    schedule 17.03.2011