1. A computer implemented method for indexing data, the computer implemented method comprising: identifying by using one or more processors a set of data to be indexed, wherein a set of data structure trees represents the set of data to be indexed; responsive to each data structure tree in the set of data structure trees lacking a common root node, creating a virtual root node for each data structure tree in the set of data structure trees; using one or more processors, merging the set of data structure trees to form a unified tree, wherein the unified tree is a single tree, and wherein the unified tree contains a set of nodes and each node in the set of nodes represents a unit of data in the set of data to be indexed; responsive to forming the unified tree, assigning by one or more processors a marker to each node in the unified tree, wherein the marker identifies each data structure tree in the set of data structure trees that each node originated from; responsive to forming the unified tree, assigning by one or more processors an identifier to each node in the unified tree, wherein the identifier describes the node in the unified tree; and responsive to assigning by one or more processors an identifier to each node in the unified tree, serializing the unified tree to form a set of sequential series, wherein the set of sequential series represents the set of data structure trees, and wherein the set of sequential series forms an index for the set of data to be indexed.