1. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for creating and maintaining a keyword index for losslessly reduced data, the method comprising: factorizing input data into a sequence of elements; and for at least one element in the sequence of elements, determining a name for the element, identifying one or more prime data elements by using the name of the element to navigate through a data structure that organizes prime data elements based on names of the prime data elements, determining a reconstitution program based on the element and the one or more prime data elements such that the element can be reconstituted by applying the reconstitution program to the one or more prime data elements, in response to determining that a sum of (i) sizes of references to the one or more prime data elements and (ii) a size of a description of the reconstitution program is less than a threshold fraction of a size of the element, generating a first losslessly reduced representation of the element that includes a reference to each prime data element in the one or more prime data elements and a description of the reconstitution program, in response to determining that the sum of (i) the sizes of the references to the one or more prime data elements and (ii) the size of the description of the reconstitution program is greater than or equal to the threshold fraction of the size of the element, adding the element as a new prime data element in the data structure, and generating a second losslessly reduced representation of the element that includes a reference to the new prime data element, storing the first or the second losslessly reduced representation of the element at a storage location, and in response to determining that a keyword is present in the element, (i) creating a first link that associates the keyword with the storage location, and (ii) storing the first link in the keyword index.