Skuteczne wyszukiwanie podciągów w dużym pliku tekstowym zawierającym 100 milionów łańcuchów (bez powielonego ciągu)

Mam duży plik tekstowy (1,5 Gb) mający 100 milionów ciągów znaków (bez powielonego ciągu), a wszystkie ciągi są rozmieszczane wiersz po wierszu w pliku. chcę zrobić wepapplication w java, aby po podaniu przez użytkownika słowa kluczowego (Substring) otrzymał liczbę wszystkich ciągów zawartych w pliku, które zawierają to słowo kluczowe. Znam już jedną technikę LUCENE. Jest inny sposób, żeby to zrobić. chcę wynik w ciągu 3-4 sekund. MÓJ SYSTEM MA 4 GB RAM I DUAL CORE ... musisz to zrobić w „JAVA ONLY”

questionAnswers(4)

yourAnswerToTheQuestion