Phrase Finding algorithm with minimal memory footprint and hadoop