PhpRiot
Follow phpriot on Twitter
Sponsored Link
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store
Free iPad/iPhone App
Available on the App Store

  • PHP manual
  • Zend Framework manual
  • Smarty manual
  • PHP articles
  • PHP training

Search Result Sorting

By default, the search results are ordered by score. The programmer can change this behavior by setting a sort field (or a list of fields), sort type and sort order parameters.

$index->find() call may take several optional parameters:

<?php
$index
->find($query [, $sortField [, $sortType [, $sortOrder]]]
                    [, 
$sortField2 [, $sortType [, $sortOrder]]]
             ...);

A name of stored field by which to sort result should be passed as the $sortField parameter.

$sortType may be omitted or take the following enumerated values: SORT_REGULAR (compare items normally- default value), SORT_NUMERIC (compare items numerically), SORT_STRING (compare items as strings).

$sortOrder may be omitted or take the following enumerated values: SORT_ASC (sort in ascending order- default value), SORT_DESC (sort in descending order).

Examples:

<?php
$index
->find($query'quantity'SORT_NUMERICSORT_DESC);
<?php
$index
->find($query'fname'SORT_STRING'lname'SORT_STRING);
<?php
$index
->find($query'name'SORT_STRING'quantity'SORT_NUMERICSORT_DESC);

Please use caution when using a non-default search order; the query needs to retrieve documents completely from an index, which may dramatically reduce search performance.

Zend Framework