8. The method of claim 6 , wherein the identified documents include document fragments.
6. A method comprising: receiving a document index by a computing device, wherein the document index comprises a plurality of nodes, each node includes identifiers of one or more graphs of a plurality of graphs, each graph represents a document of a plurality of documents, and wherein the document index comprises a graph; generating a matrix from the received document index by the computing device; receiving a query by the computing device, wherein the query comprises a plurality of sub-queries; for each sub-query: generating a matrix from the sub-query by the computing device; generating a matrix operation from the sub-query; determining nodes in the document index that match the sub-query by evaluating the matrix generated from the sub-query, the matrix operation generated from the sub-query, and the matrix generated from the document index by the computing device; and for each determined node that matches the sub-query, determining the one or more graphs identified by the identifiers of the determined node by the computing device; determining a union of the determined one or more graphs for each sub-query by the computing device; identifying documents that are represented by the graphs of the determined union of the determined one or more graphs by the computing device; running the query on the identified documents to generate a subset of the identified documents; and providing the subset of the identified documents in response to the query by the computing device.