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, wherein the instructions to create one or more associations between one or more of the first plurality of messages comprise instructions to: perform a semantic analysis on the first plurality of messages; and create one or more clusters of messages from the first plurality of messages based, at least in part, on the semantic analysis, wherein a cluster of messages comprises two or more messages that are associated together; 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.
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, wherein the instructions to create one or more associations between one or more of the first plurality of messages comprise instructions to: perform a semantic analysis on the first plurality of messages; and create one or more clusters of messages from the first plurality of messages based, at least in part, on the semantic analysis, wherein a cluster of messages comprises two or more messages that are associated together; 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. 8. The non-transitory computer readable medium of claim 1 , further comprising instructions stored thereon to cause the one or more processing units to adjust at least one of the one or more index search parameters at a regular or semi-regular time interval.