One or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising: receiving a search query; identifying a term based on the search query; accessing one or more data structures for determining storage locations of bit vectors for terms indexed in a search index, each bit vector comprising an array of bits, each of the bits representing whether at least one document contains at least one term from a set of terms corresponding to the bit vector, the one or more data structures including explicit mappings for a subset of the terms indexed in the search index, the explicit mappings identifying actual storage locations of bit vectors for each term in the subset of terms, the one or more data structures also including ad hoc information mapping term characteristics to mapping algorithms for calculating storage locations of bit vectors for terms with the term characteristics, said term characteristics including at least one selected from the following: term location in document, number of words included in the term, term frequency in search index, and term frequency in search queries; if an explicit mapping for the term is provided in the one or more data structures, identifying storage locations of bit vectors for the term from the explicit mapping; and if an explicit mapping for the term is not provided in the one or more data structures, using ad hoc information to identify storage locations of bit vectors for the term by determining a band for the term based on characteristics of the term, and by using algorithms specified for said band, each band comprising a group of terms that have similar enough term characteristics to be assigned the same bit vector configuration, said bit vector configuration representing the number and length of bit vectors used for a term. receiving a search query; identifying a term based on the search query; accessing one or more data structures for determining storage locations of bit vectors for terms indexed in a search index, each bit vector comprising an array of bits, each of the bits representing whether at least one document contains at least one term from a set of terms corresponding to the bit vector, the one or more data structures including explicit mappings for a subset of the terms indexed in the search index, the explicit mappings identifying actual storage locations of bit vectors for each term in the subset of terms, the one or more data structures also including ad hoc information mapping term characteristics to mapping algorithms for calculating storage locations of bit vectors for terms with the term characteristics, said term characteristics including at least one selected from the following: term location in document, number of words included in the term, term frequency in search index, and term frequency in search queries; if an explicit mapping for the term is provided in the one or more data structures, identifying storage locations of bit vectors for the term from the explicit mapping; and if an explicit mapping for the term is not provided in the one or more data structures, using ad hoc information to identify storage locations of bit vectors for the term by determining a band for the term based on characteristics of the term, and by using algorithms specified for said band, each band comprising a group of terms that have similar enough term characteristics to be assigned the same bit vector configuration, said bit vector configuration representing the number and length of bit vectors used for a term. term location in document, number of words included in the term, term frequency in search index, and term frequency in search queries; if an explicit mapping for the term is provided in the one or more data structures, identifying storage locations of bit vectors for the term from the explicit mapping; and if an explicit mapping for the term is not provided in the one or more data structures, using ad hoc information to identify storage locations of bit vectors for the term by determining a band for the term based on characteristics of the term, and by using algorithms specified for said band, each band comprising a group of terms that have similar enough term characteristics to be assigned the same bit vector configuration, said bit vector configuration representing the number and length of bit vectors used for a term.