11. The method of claim 1 , wherein each query leg comprises one or more BUILD nodes and one or more PROBE nodes, wherein a query leg's BUILD node is a lowest common ancestor node between the query leg and its right neighboring query leg, and wherein a query leg's PROBE node is a lowest common ancestor node between the query leg and its left neighboring query leg.
12. The method of claim 11 , wherein performing an index scan comprises: for each qualified index entry in the at least one index of the at least one hierarchically structured electronic document, using a document node matching the query leg's PROBE node to perform a lookup operation on the PROBE hash table; determining if the lookup operation is successful; adding the document node matching the query leg's BUILD node into the BUILD hash table in response to a determination that the lookup operation is successful; buffering, if a current query leg contains an EXTRACT node, a document node matching the query leg's EXTRACT node in the BUILD hash table in addition to document nodes matching EXTRACT nodes in previously evaluated query legs; and linking document nodes matching EXTRACT nodes of query legs up to the current query leg based on structural relationships.