1. A method, comprising: receiving, by one or more computer systems, a search query from a user; identifying a plurality of network contents in response to the search query; determining one or more ranking criteria for the search query; presenting the ranking criteria to the user; receiving from the user one or more weights assigned to one or more of the ranking criteria; ranking the identified network contents based on the ranking criteria and the weights; and presenting the network contents to the user in an order according to their ranking.