A searching program that causes a computer capable of accessing a storing apparatus to execute a process, wherein the storing apparatus stores therein: a) a 2 N -branch nodeless Huffman tree whose maximal number of braches is 2 N and whose leaves are compression codes of different compression code lengths corresponding to occurrence probabilities of characters and words (each of the words includes one or more characters) appearing in object files; b) a database that associates each character or each word with a corresponding leaf of the 2 N -branch nodeless Huffman tree; and c) compression files that are the object files compressed using the 2 N -branch nodeless Huffman tree, the process comprising the following steps: d1) a receiving step for receiving an input of a character string to be searched that includes two or more characters; d2) a first searching step for searching the character string from the database; d3) a second searching step for searching a preceding word and a succeeding word from among the words stored in the database, when the character string is not searched at the first searching step d2), the preceding word being a first word the last character of which is the same with the first character of the character string to be searched, and the succeeding word being a second word the first character of which is the same with the last character of the character string to be searched; d4) an extracting step for extracting, when the preceding word and the succeeding word are searched at the second searching step d3), compression code of the preceding word from a leaf associated with the preceding word and compression code of the succeeding word from a leaf associated with the succeeding word; d5) a generating step for generating a table that stores therein a connected compression code and a substituted character string associated with the connected compression code, wherein the connected compression code includes the compression code of the preceding word and the compression code of the succeeding word connected to each other, and the substituted character string includes the preceding word, the succeeding word, and information characterizing a character at the end of the preceding word and a character at the head of the succeeding word; d6) a determining step for determining whether a compression code string in a compression file matches the connected compression code in the table generated at the generating step d5); and d7) an outputting step for outputting, when the compression code string is determined to match the connected compression code at the determining step d6), the substituted character string associated with the connected compression code. a) a 2 N -branch nodeless Huffman tree whose maximal number of braches is 2 N and whose leaves are compression codes of different compression code lengths corresponding to occurrence probabilities of characters and words (each of the words includes one or more characters) appearing in object files; b) a database that associates each character or each word with a corresponding leaf of the 2 N -branch nodeless Huffman tree; and c) compression files that are the object files compressed using the 2 N -branch nodeless Huffman tree, the process comprising the following steps: d1) a receiving step for receiving an input of a character string to be searched that includes two or more characters; d2) a first searching step for searching the character string from the database; d3) a second searching step for searching a preceding word and a succeeding word from among the words stored in the database, when the character string is not searched at the first searching step d2), the preceding word being a first word the last character of which is the same with the first character of the character string to be searched, and the succeeding word being a second word the first character of which is the same with the last character of the character string to be searched; d4) an extracting step for extracting, when the preceding word and the succeeding word are searched at the second searching step d3), compression code of the preceding word from a leaf associated with the preceding word and compression code of the succeeding word from a leaf associated with the succeeding word; d5) a generating step for generating a table that stores therein a connected compression code and a substituted character string associated with the connected compression code, wherein the connected compression code includes the compression code of the preceding word and the compression code of the succeeding word connected to each other, and the substituted character string includes the preceding word, the succeeding word, and information characterizing a character at the end of the preceding word and a character at the head of the succeeding word; d6) a determining step for determining whether a compression code string in a compression file matches the connected compression code in the table generated at the generating step d5); and d7) an outputting step for outputting, when the compression code string is determined to match the connected compression code at the determining step d6), the substituted character string associated with the connected compression code.