(PECL swish >= 0.1.0)
SwishSearch::setSort — Задать порядок сортировки
$sort
) : voidЭта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.
sort
Порядок сортировки результатов задается строкой, содержащей имя свойства результата в комбинации с направлением сортировки ("asc" - по возрастанию или "desc" - по убыванию). Пример: "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" и т.д..
Эта функция не возвращает значения после выполнения.
Пример #1 Пример использования SwishSearch::setSort()
<?php
try {
$swish = new Swish("index.swish-e");
$search = $swish->prepare();
$results = $search->execute("time");
echo "First query found: ", $results->hits, " hits\n";
$i = 0;
while($result = $results->nextResult()) {
echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
}
$search->setSort("swishdocsize desc"); /сортировка по размеру документа
$results = $search->execute("time");
echo "Second query found: ", $results->hits, " hits\n";
$i = 0;
while($result = $results->nextResult()) {
echo "Hit #", ++$i, " - ", $result->swishdocsize, " bytes\n";
}
} catch (SwishException $e) {
echo $e->getMessage(), "\n";
}
?>
Результатом выполнения данного примера будет что-то подобное:
First query found: 5 hits Hit #1 - 4261 bytes Hit #2 - 37937 bytes Hit #3 - 7126 bytes Hit #4 - 15427 bytes Hit #5 - 4768 bytes Second query found: 5 hits Hit #1 - 37937 bytes Hit #2 - 15427 bytes Hit #3 - 7126 bytes Hit #4 - 4768 bytes Hit #5 - 4261 bytes