A search engine is used to help users find information in a computer system. Special purpose search engines have been developed to deal with queries of different needs. Geographic information retrieval is one such specialized application. A typical GIR system includes three parts: annotation, indexing and querying. This book proposes methodologies for these three components and develops a geographic search engine based on an existing system. A method called probabilistic annotation is proposed in this thesis, which keeps the ambiguity and imprecision by assigning probabilities to all possible candidate locations. The probability is then combined into the final similarity scores. For geographic indexing, we propose two indexing techniques based on hierarchically structured geo-terms. They are used and tested in our experiments. This book also explores the methods to calculate the similarity score for geographic queries. To combine the Okapi scores of text terms, geoterms and expanded geo-terms, a novel geometric progression normalization method is proposed which successfully eliminates the query overloading problem.