Abstract: In a database data processing system, input search data is matched against an index of a database to determine database records which either closely or exactly match the input search data. The input search data is broken down into elements, and elements are converted to terms having a finite set of possible values. The Soundex function may be used to convert elements to terms. The terms are compared against an index of terms to determine which database records relate to the input search data. Through statistical analysis, match records are given a record weight which may be used to calculate how closely the input data actually is to each match record. The invention provides a fast and efficient way of accurately searching for data in extremely large databases, while not requiring precise input search data entry. The invention may also be used to compare or supplement one database against another.