Apparatus for and method of searching a data base using variable search criteria. The data base consists of a set of files or portions thereof. Each file is divided into a number of records whereby all records of a given file have the same format but the records of different files may have different formats. A field format register is used to define the format of the records within a given file. The field format register specifies the location and width of each field within a record. To perform a search, a field-by-field comparison of each record is made to a reference word. The comparison yields a less than, equal to or greater than result for each field of each record. A field comparison register describes the expected result of the field-by-field comparison. A given field is designated true if the comparison yields the expected result specified for that field in the field comparison register. A given field is designated false if the comparison yields other than the expected result specified in the field comparison register. A hit on a given record is defined as satisfying a Boolean expression using the field-by-field true/false definitions as input variables. A given record is a miss if the Boolean expression is not satisfied.