1. A non-transitory computer readable medium comprising computer executable instructions stored thereon to cause one or more processing units to: obtain a first plurality of messages for a first user, wherein the first plurality of messages comprises: one or more messages in each of a first plurality of formats; and one or more messages sent or received via each of a first plurality of protocols; create one or more associations between one or more of the first plurality of messages; receive a query from the first user requesting at least one message from the first plurality of messages; generate one or more index search terms based, at least in part, on the received query; and generate a result set of messages in response to the generated one or more index search terms, wherein the result set is based, at least in part, on one or more index search parameters for one or more of the generated one or more index search terms, and wherein at least one of the one or more index search parameters is determined individually for the first user.