That's only 977 bytes per page (42 MB / 43,000 pages). Are you sure about the numbers? Maybe the plain-text body is stored in a TOAST table?
Anyway, it looks like the whole dataset can fit in RAM, which explains the excellent performance, even with relevance ranking.