An apparatus comprising at least one processor ; a memory to store instructions that are configured to instruct the at least one processor to: generate an index in the memory , the index comprising a hierarchy of interlinked data structures and a hash table such that an entry in the hash table comprises an association between a date and a first data structure in the hierarchy of interlinked data structures ; receive a search request from a remote device, the search request comprising a plurality of search parameters including the date ; search the hash table , using the date , for a memory address of the first data structure in the hierarchy of interlinked data structures ; determine a plan for traversing the hierarchy of interlinked data structures based on the search parameters; begin a search for data sought after by the search request at the first data structure in accordance with the traversal plan; and return results of the search to the remote device, characterized in that the first data structure is a first binary tree data structure at a first level in the hierarchy of interlinked data structures . at least one processor ; a memory to store instructions that are configured to instruct the at least one processor to: generate an index in the memory , the index comprising a hierarchy of interlinked data structures and a hash table such that an entry in the hash table comprises an association between a date and a first data structure in the hierarchy of interlinked data structures ; receive a search request from a remote device, the search request comprising a plurality of search parameters including the date ; search the hash table , using the date , for a memory address of the first data structure in the hierarchy of interlinked data structures ; determine a plan for traversing the hierarchy of interlinked data structures based on the search parameters; begin a search for data sought after by the search request at the first data structure in accordance with the traversal plan; and return results of the search to the remote device, characterized in that the first data structure is a first binary tree data structure at a first level in the hierarchy of interlinked data structures . generate an index in the memory , the index comprising a hierarchy of interlinked data structures and a hash table such that an entry in the hash table comprises an association between a date and a first data structure in the hierarchy of interlinked data structures ; receive a search request from a remote device, the search request comprising a plurality of search parameters including the date ; search the hash table , using the date , for a memory address of the first data structure in the hierarchy of interlinked data structures ; determine a plan for traversing the hierarchy of interlinked data structures based on the search parameters; begin a search for data sought after by the search request at the first data structure in accordance with the traversal plan; and return results of the search to the remote device, characterized in that the first data structure is a first binary tree data structure at a first level in the hierarchy of interlinked data structures . <EOS>