(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 "В первом запросе найдено: ", $results->hits, " совпадений\n";
$i = 0;
while($result = $results->nextResult()) {
echo "Совпадение #", ++$i, " - ", $result->swishdocsize, " байт\n";
}
$search->setSort("swishdocsize desc"); /сортировка по размеру документа
$results = $search->execute("time");
echo "Во втором запросе найдено: ", $results->hits, " совпадений\n";
$i = 0;
while($result = $results->nextResult()) {
echo "Совпадение #", ++$i, " - ", $result->swishdocsize, " байт\n";
}
} catch (SwishException $e) {
echo $e->getMessage(), "\n";
}
?>
Результатом выполнения данного примера будет что-то подобное:
В первом запросе найдено: 5 совпадений Совпадение #1 - 4261 байт Совпадение #2 - 37937 байт Совпадение #3 - 7126 байт Совпадение #4 - 15427 байт Совпадение #5 - 4768 байт Во втором запросе найдено: 5 совпадений Совпадение #1 - 37937 байт Совпадение #2 - 15427 байт Совпадение #3 - 7126 байт Совпадение #4 - 4768 байт Совпадение #5 - 4261 байт