The system then determines an Ith set of rules using a Jth set of rules (step 1204 ). In other words, a different set of rules is used to determine the set of rules that are actually applied to the Ith query. The term "Jth", refers to an integer, starting with one, wherein J=1 is the first iteration of the recursion process and I?1 is the Jth iteration of the recursion process. The Jth set of rules may or may not change from the previous set, such that Jth-1 set of rules may or may not be the same as the Jth set of rules. The term "Jth" set of rules refers to the set of rules that establishes the search rules, which are the Ith set of rules. The Jth set of rules is used to determine the Ith set of rules. The system then determines an Ith search space (step 1206 ). The Ith search space is the search space for the Ith iteration. A search space is the portion of a database, or a subset of data within a database, that is to be searched. The system then prioritizes the Ith set of rules, determined during step 1204 , in order to determine which rules of the Ith set of rules should be executed first (step 1208 ). Additionally, the system can prioritize the remaining rules in the Ith set of rules. Again, because computing resources are not infinite, those rules that are most likely to produce