(PECL swish:0.1-0.3.0)
SwishSearch->setSort — Set the sort order
Esta función es EXPERIMENTAL. Esto significa que el comportamiento de esta función, el nombre de esta función y en definitiva TODO lo documentado sobre esta función, puede cambiar en una futura version de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.
Sort order of the results is a string containing name of a result property combined with sort direction ("asc" or "desc"). Examples: "swishrank desc", "swishdocpath asc", "swishtitle asc", "swishdocsize desc", "swishlastmodified desc" etc.
No value is returned.
Example#1 Basic SwishSearch->setSort() example
<?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"); //sort by document size
$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";
}
?>
El resultado del ejemplo seria algo similar a:
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