Patent ID: 8560558

Claim:
A computer-readable, non-transitory medium storing therein a search program, the search program executing a process comprising: causing a computer to have access to a data block set that includes data groups respectively registered in data blocks, and a hierarchal Bloom filter configured in accordance with a memory area of h-levels by s-bits (h-levels x s-bits), where a bit-length s of each level of the hierarchal Bloom filter is divided based on a divider d of a highest level, being an h-th level, and a Bloom Filter is a segment resulting from division based on the divider and segments at each level constitute a Bloom filter row, where n Bloom filters, included in a Bloom filter row, each have m bits indicating a negativity result in a given number of the data blocks; receiving a transposition request for the Bloom filter row; transposing the Bloom filter row into a transposed Bloom filter row of m transposed Bloom filters respectively of n bits gathered from Bloom filters according to an arrangement position in Bloom filters and storing the transposed Bloom filter row to a storage device where strings of bits gathered according to position are arranged in an order of bit position, when a transposition request has been received; converting, based on a plurality of hash functions, search data into position information indicating the arrangement position in the transposed Bloom filter, the search data being converted for each of the hash functions; designating from the transposed Bloom filter row and for each arrangement position indicated by the position information, a transposed Bloom filter that corresponds to the indicated arrangement position; designating from the Bloom filter row, a Bloom filter that corresponds to the position information common to the designated transposed Bloom filter; and judging whether a Bloom filter row constituted by the designated Bloom filter is present, wherein when a Bloom filter row constituted by the designated Bloom filter is not present, the judging includes judging whether the search data is present in a data block that is among the data block set and corresponds to the designated Bloom filter.