1. A method comprising: identifying a listing user providing each of a plurality of listings in a result set of a search initiated by a searching user; accessing sorting criteria including a size criterion indicating a number of listings a same listing user is allowed within a number of consecutive listings of the search result set and a distance criterion including a listing distance value defining a minimum distance between listings from the same listing user, the size criterion including a sort size value defining a maximum number of consecutive listings from the same listing user between the minimum distance defined by the listing distance value; generating, using one or more processors, a sorted result set by sorting the plurality of listings in the search result set using the sorting criteria such that each listing from the same listing user in the search result set is positioned in a sorted order in compliance with the sorting criteria including the size criterion and the distance criterion by pushing a listing from the same listing user down one or more positions in order to satisfy the sorting criteria; and providing the sorted result set to the searching user.