Pesquisa de substring eficiente em um arquivo de texto grande contendo 100 milhões de strings (sem string duplicada)

Eu tenho um arquivo de texto grande (1,5 Gb) com 100 milhões de seqüências de caracteres (sem seqüência duplicada) e todas as seqüências de caracteres são organizadas linha por linha no arquivo. Eu quero fazer um wepapplication em java para que quando o usuário dá uma palavra-chave (Substring) ele obter a contagem de todas as seqüências de caracteres presentes no arquivo que contém essa palavra-chave. Eu conheço uma técnica LUCENE já .. existe alguma outra maneira de fazer isso. Eu quero o resultado dentro de 3-4 segundos. O MEU SISTEMA TEM 4 GB de RAM E configuração do DUAL CORE ... precisa fazer isso em "JAVA ONLY"

questionAnswers(4)

yourAnswerToTheQuestion