1. A system comprising: a processing apparatus comprising one or more computer processors; a storage apparatus comprising computer memory and storing: 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 join field; and a search engine operating on the one or more processors, wherein the search engine is configured to execute queries against the search engine index, wherein the processing apparatus is configured to: 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 beenapplied; 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.
1. A system comprising: a processing apparatus comprising one or more computer processors; a storage apparatus comprising computer memory and storing: 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 join field; and a search engine operating on the one or more processors, wherein the search engine is configured to execute queries against the search engine index, wherein the processing apparatus is configured to: 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 beenapplied; 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. 3. The system of claim 1 , wherein the filtering of 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 bitset index is performed by mapping a join key of each of the set of documents from the root table to the join bitset using the bitset index and checking a value of a bit corresponding to the join key.