Patent ID: 8745079

Claim:
A method for searching a repository of information, the method comprising: receiving at a computer system maintaining the repository of information sets of search criteria for performing a plurality of searches; and selectively performing by the computer system one or more of an attribute search and a keyword search of the information in the repository based on each of the received sets of search criteria and further based on whether the received search criteria indicates only keywords, only attributes, or both keywords and attributes, wherein the computer system executes a DataBase Management System (DBMS) and a search engine, wherein the repository comprises a plurality of tables storing the information and an index file, wherein the index file comprises a file generated and maintained by the computer system and representing contents of each of the tables, wherein the index file comprises a plurality of records, each record identifying one or more records of one or more tables, and wherein selectively performing one or more of the attribute search and the keyword search based on each of the received sets of search criteria comprises: determining by the computer system for each of the received sets of criteria whether the received criteria contains only criteria indicating attributes to be searched, only criteria indicating keywords to be searched, or both criteria indicating attributes to be searched and criteria indicating keywords to be searched; for a received set of criteria containing only criteria indicating attributes to be searched, not performing the keyword search and performing only the attribute search by searching data of the repository by executing a query of the DBMS on the tables of the repository; for a received set of criteria containing only criteria indicating keywords to be searched not performing the attribute search and performing only the keyword search by searching the index file of data in the repository using the search engine; and for a received set of criteria containing both criteria indicating attributes to be searched and criteria indicating keywords to be searched, performing the keyword search by searching the index file of the data in the repository using the search engine and filtering results of the keyword search based on the criteria indicating attributes to be searched without performing the attribute search on all of the data of the repository.