A Java application that crawls a specified seed web page, builds an inverted index, and starts a search engine for a website that provides services including: weighed partial search capability, authentication of users, and a history of each user's prior searches.