30. The set of computer-readable media of claim 29 , wherein the join table is identified as an inner join table in the composite join query, and wherein the instructions further cause the processing apparatus to: retrieve a set of documents from the join table; identify join keys from the join field that correspond to the set of documents retrieved from the join table; aggregate the identified join keys from the join table by setting bits in an inner join bitset according to the bitset index; and update the stored join bitset by performing a bitwise AND on the stored join bitset and the inner join bitset.
29. A set of one or more non-transitory computer-readable media storing instructions that when executed by a processing apparatus comprising one or more computer processors cause the processing apparatus to: store on a storage apparatus comprising computer memory: a search engine index including searchable content for a plurality of documents, wherein each document is associated with a unique identifier, with a table, and with a join key based upon which the document can be associated with other documents having an identical join key, a join mapping that maps between documents and join keys for a join field, and a bitset index that maps ordinal locations in a join bitset to join keys for a joinfield; operate a search engine to execute queries against the search engine index; receive a composite join query comprising a specification of a user query, a specification of a root table, a specification of a join table, and a specification of a join field, wherein the specification of the user query comprises one or more Boolean operations applied to one or more unitary queries; for each of the unitary queries: execute the unitary query against the search engine index using the search engine, filter results of the execution of the unitary query for documents contained in at least one of the root table and the join table, and identify join keys from the join field that correspond to the filtered results by setting bits in a join bitset according to the bitset index; for each of the Boolean operations, apply the Boolean operation according to the user query to one or more join bitsets, wherein the one or more join bitsets are obtained from executed unitary queries, from other applied Boolean operations or from both, to create a join bitset, until all of the one or more Boolean operations have been applied; store the join bitset created from an application of a last one of the one or more Boolean operations; retrieve a set of documents from the root table; filter the set of documents from the root table to obtain a set of documents having join keys that match join keys identified by the stored join bitset; and provide the filtered set of documents as a result for the composite join query.