1. A computer-implemented method comprising: in response to a first user specifying an attribute set including at least one rule attribute, performing a first search in a rule category database to retrieve rule categories corresponding to the attribute set; performing a second search in a rule provision database to retrieve rule provisions corresponding to the attribute set; identifying rules related to the rule categories retrieved from the rule category database and the rule provisions retrieved from the rule provision database, wherein identifying rules relating to the rule categories and the rule provisions comprises executing a pre-data collection sub-process that filters each retrieved rule to remove rules that are not applicable and stores surviving rules; performing a third search using the identified rules to retrieve, for each identified rule, fares corresponding to the identified rule from a fares database, wherein the third search is performed as N search processes that are executed in parallel; building a list of eligible fares that are not invalidated by the attribute set using the fares retrieved from the fares database, wherein the list of eligible fares is a merged list obtained from a list output from each of the N search processes; creating a functional index including one or more entries, each entry associating one of the rule categories to one or more of the eligible fares based on the corresponding attribute defined by the entry; associating the functional index with the attribute set; and in response to a second user specifying the attribute set, retrieving the fares from the fares database using the functional index.