There are several possibilities, but I think you mean "effectively"?
The general idea would be to split the text into manageable chunks, put these chunks in a queue, and several consumers to process the chunks.
Map/Reduce :
_ Worker_
/ \
/ \
Splitter--- Worker ---Aggregator
\ /
\_ Worker _/
"" , , , .
Splitter to Workers, , , Aggregator.