Dê uma olhada em Lucene . É um mecanismo de busca de código aberto. Ele não faz crawling etc. sozinho, mas há muitos projetos baseados nele que oferecem a capacidade.
Solr seria um projeto construído sobre o Lucene, que pode ser o que você precisa:
Apache Solr is an open source enterprise search server based on the Apache Lucene Java search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication, and a web administration interface. It runs in a Java servlet container such as Tomcat.