9. A computer-implemented method, comprising: extracting terms from a set of documents and creating a primary index including each of the extracted terms for searching the set of documents, wherein the primary index comprises an inverted index; generating a secondary index from the extracted terms for searching the primary index, wherein the secondary index includes each stem of the extracted terms and each corresponding variant of that stem within the extracted terms from the set of documents that is different than the stem, wherein the secondary index comprises an ordered lookup table of stems and variants, and wherein generating the secondary index comprises identifying stems from the extracted terms and, if a term is found whose stem is different than the term, adding the stem with the term to the table if the stem has not already been added and, if the stem has been added but the term has not, adding the term; receiving a query for the set of documents and identifying stems of terms from the query; searching the secondary index for a plurality of variants corresponding to the stems of the terms from the query, wherein the plurality of variants found in the search is different than the stems from the terms in the query; reformatting the query to include a plurality of additional query terms comprising the plurality of variants found from the secondary index, wherein, for each term of the query having a variant in the secondary index, the reformatted query includes the term, the identified stem of the term, and each corresponding variant for the identified stem of the term found from the secondary index; implementing a search of the primary index using the reformatted query to identify a resulting set of documents; and accessing the resulting set of documents from a document store via a network corresponding to results of the search of the primary index.
9. A computer-implemented method, comprising: extracting terms from a set of documents and creating a primary index including each of the extracted terms for searching the set of documents, wherein the primary index comprises an inverted index; generating a secondary index from the extracted terms for searching the primary index, wherein the secondary index includes each stem of the extracted terms and each corresponding variant of that stem within the extracted terms from the set of documents that is different than the stem, wherein the secondary index comprises an ordered lookup table of stems and variants, and wherein generating the secondary index comprises identifying stems from the extracted terms and, if a term is found whose stem is different than the term, adding the stem with the term to the table if the stem has not already been added and, if the stem has been added but the term has not, adding the term; receiving a query for the set of documents and identifying stems of terms from the query; searching the secondary index for a plurality of variants corresponding to the stems of the terms from the query, wherein the plurality of variants found in the search is different than the stems from the terms in the query; reformatting the query to include a plurality of additional query terms comprising the plurality of variants found from the secondary index, wherein, for each term of the query having a variant in the secondary index, the reformatted query includes the term, the identified stem of the term, and each corresponding variant for the identified stem of the term found from the secondary index; implementing a search of the primary index using the reformatted query to identify a resulting set of documents; and accessing the resulting set of documents from a document store via a network corresponding to results of the search of the primary index. 10. A computer-implemented method according to claim 9 , further including implementing the search of the primary index by generating a Boolean search using the variants.