1. A method of accessing data in a record-based data storage system using a search engine in response to a join query, the method comprising, in an electronic processing system: searching documents and storing join mappings, the join mappings mapping join keys to documents and join key values to the documents; using an index, returning primary and secondary result sets for primary and secondary queries of the join query; using the join mappings, identifying documents from the primary result sets and the secondary result sets that have common field values; retrieving at least a subset of the identified documents from the primary result sets and the secondary result sets that have common field values.