1. A method to process at least one text document, comprising: partitioning text of each of the at least one text document into text tokens; assigning semantic meaning to words of the partitioned text token, where assigning comprises applying a plurality of regular expressions, rules and a set of dictionaries, where the set of dictionaries is selected from the group consisting of: a first collection of dictionaries consisting of a common chemical prefix dictionary and a common chemical suffix dictionary to recognize chemical name fragments and a second collection of dictionaries consisting of the common chemical prefix dictionary, the common chemical suffix dictionary to recognize chemical name fragments and a dictionary of stop words to eliminate erroneous chemical name fragments; recognizing any substructures present in the chemical name fragments; extracting keywords from the text document, where the keywords are associated with the recognized chemical name fragments and the substructures; indexing the extracted keywords in a text index; adding each of the recognized chemical name fragments and the substructures that do not contain a number to the text index; determining structural connectivity information within each of the recognized chemical name fragments and the substructures that do not contain a number; indexing representations of the recognized chemical name fragments and the substructures in association with the determined structural connectivity information into a plurality of chemical connectivity tables of a chemical substructure index, where indexing the representations comprises, for each of the at least one text document: in a loop, testing each of the recognized chemical name fragments in the at least one text document to see if the recognized chemical name fragment occurs in a dictionary of SMILES fragments, where if it does then a SMILES expression for the recognized chemical name fragment is added to the chemical substructure index, then determining if the recognized chemical name fragment occurs in a MOL file dictionary, where if it does then a MOL file expression for the fragment token is added to the chemical substructure index, and storing the text index in association with the chemical substructure index; providing a graphical user interface to search the text index and the chemical substructure index, where the graphical user interface comprises a graphical list of substructures where the search comprises first entering search terms comprising one or more chemical fragment names and then selecting graphical representations of one or more substructures, where the selecting comprises using the graphical user interface as a pointer to the graphical list of substructures; and receiving a search result, where the search result is an intersection of the chemical substructure index and the text index, identifying at least one text document where there are found chemical compounds that contain the selected substructures, and connectivity specified by the one or more chemical fragment names and the selected substructures and where the search terms are found in the text index.