15. A non-transitory storage medium having stored thereon computer-readable code for causing at least one processor to: receive a search query from a user; identify a plurality of network contents in response to the search query; determine a plurality of ranking criteria for the search query, wherein the plurality of ranking criteria includes at least one criterion different from a criterion of relevance; present the plurality of ranking criteria to the user so that the user can selectively assign one or more weights to individual ones of the plurality of ranking criteria; receive from the user the weights assigned by the user to the individual ones of the plurality of ranking criteria; rank the network contents identified in response to the search query based on the plurality of ranking criteria and the one or more weights assigned by the user; and present the network contents to the user in an order according to their ranking.
15. A non-transitory storage medium having stored thereon computer-readable code for causing at least one processor to: receive a search query from a user; identify a plurality of network contents in response to the search query; determine a plurality of ranking criteria for the search query, wherein the plurality of ranking criteria includes at least one criterion different from a criterion of relevance; present the plurality of ranking criteria to the user so that the user can selectively assign one or more weights to individual ones of the plurality of ranking criteria; receive from the user the weights assigned by the user to the individual ones of the plurality of ranking criteria; rank the network contents identified in response to the search query based on the plurality of ranking criteria and the one or more weights assigned by the user; and present the network contents to the user in an order according to their ranking. 21. The medium of claim 15 , wherein the computer-readable code further causes the at least one processor to: implement a ranking model that ranks the network contents based on the plurality of ranking criteria, wherein the computer-readable code that causes the at least one processor to rank the network contents based on the plurality of ranking criteria and the one or more weights comprises code to: rank the network contents based on their relative degrees of relevance with respect to the search query, and for each unique pair or network contents from the ranked network contents comprising a first network content and a second network content, the first network content being ranked higher than the second network content, penalize a reversal of the ranking between the first network content and the second network content using the ranking model.