1. A computer implemented method implemented in a data processing apparatus, comprising: designating a plurality of terms as filtering terms, wherein at least one of the filtering terms includes only one component term, and at least one of the filtering terms includes a plurality of component terms in ordinal positions; generating, by the data processing apparatus, a keyword hash map for a plurality of keywords, each keyword being one of the component terms and being mapped to one or more corresponding hashes in the hash map, and each corresponding hash having a corresponding level and a corresponding status, wherein each level corresponds to an ordinal position of its corresponding component term in a filtering term, and wherein each status designates its corresponding component term in the hash map as one of a filtering term or unfiltered term; and storing the keyword hash map in a memory storage system accessible by the data processing apparatus.