A data retrieval system provides data to a user of a client computer
connected to multiple data stores and multiple other computers. A request
for data is received at the client computer. The request is forwarded
from the client computer to a server computer and intercepted at a
reverse proxy caching connection. An attempt is made to locate the data
at a data store at the reverse proxy caching connection. If the data is
not found the request is forwarded to the server computer. In order to
provide data to a user. A user interface is provided. Initially, data
elements associated with a grouping of data elements are identified.
Then, a subset of the selected data elements are selected based on
weights associated with the data elements, without selecting more than a
specified number of data elements that are associated with a same
sub-category.