19. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause performance of: a server storing a document in an unstructured database column in a database, wherein the document, as stored, is not defined as being marked according to a markup language; the server analyzing the document to determine that the document comprises nodes that are marked according to the markup language as being under hierarchical paths; in response to determining that the document comprises the nodes that are marked according to the markup language as under the hierarchical paths, the server storing one or more indices that map the nodes to locations where the nodes are stored within the document, wherein the one or more indices also indicate that at least one node of the nodes is an ancestor of at least one other node of the nodes.
19. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause performance of: a server storing a document in an unstructured database column in a database, wherein the document, as stored, is not defined as being marked according to a markup language; the server analyzing the document to determine that the document comprises nodes that are marked according to the markup language as being under hierarchical paths; in response to determining that the document comprises the nodes that are marked according to the markup language as under the hierarchical paths, the server storing one or more indices that map the nodes to locations where the nodes are stored within the document, wherein the one or more indices also indicate that at least one node of the nodes is an ancestor of at least one other node of the nodes. 26. One or more non-transitory storage media as recited in claim 19 , wherein the document is a first document, and wherein the locations are first locations, wherein the instructions, when executed by the one or more computing devices, cause: storing a second document in the unstructured database column in the database; determining that the second document does not conform to the markup language; in response to the determining that the second document does not conform to the markup language, storing in the one or more indices a mapping of a virtual node to a second location of the second document.