We seldom need to fetch result from solr based on limit and order by clause similar to sql queries , the same thing can be achieved using the below given code packet with solarium : 
// create a client instance
$client = new Solarium\Client($config);
// get a select query instance
$query = $client->createSelect();
// set a query (all prices starting from 12)
$limit=10;
$start=0;
$search_for="*";
if(isset($_GET["search_for"])){
 $search_for=$_GET["search_for"];
}
$query->setQuery('book:'.$search_for);
if(isset($_GET["start"])){
 $start=$_GET["start"];
}
// set start and rows param (comparable to SQL limit) using fluent interface
$query->setStart($start)->setRows($limit);
// set fields to fetch (this overrides the default setting 'all fields')
$query->setFields(array('id','name','description_book','isbn','isbn13','eisbn10','eisbn13','authors','publishers','image_book','listprice_book','rentalprice_book','semesterrentalprice_book','producturl_book','inventoryflag'));
// sort the results by price ascending
$query->addSort('inventoryflag', $query::SORT_DESC);
// this executes the query and returns the result
try{
    $resultset = $client->select($query);
    // display the total number of documents found by solr
    echo 'NumFound: '.$resultset->getNumFound();
    // show documents using the resultset iterator
        foreach ($resultset as $document) {
            //print_r($document);
            echo '
';
            // the documents are also iterable, to get all fields
            foreach ($document as $field => $value) {
                // this converts multivalue fields to a comma-separated string
                if (is_array($value)) {
                    $value = implode(', ', $value);
                }
                echo '';
            }
            echo '| ' . $field . ' | ' . $value . ' | 
|---|
';
        }
}
//catch exception
catch(Exception $e){
  echo 'Message: ' .$e->getMessage();
}
                      
 
                    
0 Comment(s)