Pesquisando documentos armazenados no Hadoop - qual ferramenta usar?

Estou perdido em: Hadoop, Hbase, Lucene, Carrot2, Cloudera, Tika, ZooKeeper, Solr, Katta, Cascading, POI ...

Quando você lê sobre o que você pode estar certo de que cada uma das outras ferramentas será mencionada.

Eu não espero que você explique todas as ferramentas para mim - claro que não. Se você pudesse me ajudar a restringir este conjunto para o meu cenário em particular, seria ótimo. Até agora não tenho certeza de qual dos itens acima vai caber e parece que (como sempre) há mais de uma maneira de fazer o que deve ser feito.

O cenário é: 500 GB - ~ 20 TB de documentos armazenados no Hadoop. Documentos de texto em vários formatos: email, doc, pdf, odt. Metadados sobre esses documentos armazenados no banco de dados SQL (remetente, destinatários, data, departamento, etc.) A origem principal dos documentos será ExchangeServer (emails e anexos), mas não apenas. Agora, para a pesquisa: o usuário precisa ser capaz de realizar pesquisas complexas de texto completo sobre esses documentos. Basicamente, ele será apresentado a algum painel de configuração de pesquisa (aplicativo de área de trabalho java, não webapp) - ele definirá intervalo de datas, tipos de documento, remetentes / destinatários, palavras-chave etc. - disparar a pesquisa e obter a lista resultante dos documentos (e para cada informação do documento, por que ela é incluída nos resultados da pesquisa, ou seja, quais palavras-chave são encontradas no documento).

Quais ferramentas devo levar em consideração e quais não? O objetivo é desenvolver essa solução com um código de "cola" mínimo necessário. Sou proficiente em SQLdbs, mas bastante desconfortável com tecnologias relacionadas ao Apache.

O fluxo de trabalho básico é semelhante ao seguinte: ExchangeServer / outra origem -> conversão de doc / pdf / ... -> deduplicação -> Hadopp + SQL (metadados) -> compilar / atualizar um índice <- pesquisar nos documentos (e fazer isso rapidamente ) -> resultados de pesquisa presentes

Obrigado!