Возможно, лучшим способом сделать это было бы сжатие документа, поскольку это удаляло бы любые повторяющиеся экземпляры слов, которые вам на самом деле нужно проверять только один раз. Я только предлагаю это, поскольку это, вероятно, будет работать быстрее, чем написание вашего собственного уникального поиска слов.
Сжатая версия должна иметь ссылки на уникальные слова, где-то в ее файле вам, возможно, придется посмотреть, как они структурированы.
Затем вы можете проверить орфографию всех уникальных слов. Я надеюсь, что вы не проверяете их с помощью отдельных SQL-запросов или чего-то в этом роде, вам следует загрузить словарь в виде дерева в свою память и затем проверить слова по этому поводу.
Как только это будет сделано, просто распакуйте его и эй presto все проверено заклинанием. Это должно быть довольно быстрое решение.
Или, возможно, вам не нужно проходить весь процесс архивирования, если проверка орфографии действительно выполняется так же быстро, как и в комментариях, что может указывать на неправильную реализацию.