1. A machine-implemented method comprising: receiving a query from a user; based on the query, determining one or more potential intents of the user; based on the query, determining a plurality of matching resources that includes a first matching resource and a second matching resource that is different than the first matching resource; for the first matching resource of the plurality of matching resources, selecting, based on the one or more potential intents, a first abstract template from a plurality of abstract templates; for the second matching resource of the plurality of matching resources, selecting, based on the one or more potential intents, a second abstract template from the plurality of abstract templates; wherein each abstract template of the plurality of abstract templates: (a) corresponds to a different intent than any other intent to which any other abstract template of the plurality of abstract templates corresponds, and (b) dictates a different manner of displaying information about a resource than any other manner of displaying dictated by any other abstract template of the plurality of abstract templates; and generating a search results page that includes: for the first matching resource, a first abstract that is displayed based on the first abstract template, and for the second matching resource, a second abstract that is displayed based on the second abstract template; wherein the method is performed by one or more computing devices.
3. The method of claim 1 , further comprising annotating the query to generate an annotated query, wherein determining the one or more potential intents of the user is based on the annotated query.