In conventional retrieval techniques for narrowing down a candidate when there are a plurality of candidates as retrieval results, a method results in a huge number of candidates in order to prevent omission of candidates, whereby the administration cost is increased, and another method involves always processing all candidates, whereby the processing time becomes longer and the response performance is lowered. Retrieval history storage means stores a retrieval history including a content input from input means and a candidate list, narrowing-down method selecting means selects, according to the content of the stored retrieval history, a narrowing-down method from a method of limiting search targets to top-ranked candidates and a method of performing a search again based on inputs made in the past, candidate score update means sets, from the search history, a search candidate and a score thereof according to the selected narrowing-down method, and updates a candidate score based on a character string received from the input means with reference to an index for search, candidate determining means determines a candidate to be presented based on a number of candidates and score distribution which are updated, and candidate presenting means presents, to the user, the determined candidate with reference to name information data.