терм вектор прямая структура данных - по документу получаем все термы.
в обратном индексе по можно найти документ, но определить все его термы затруднительно.
Fuzzy или prefix запросы преобразуются в конечные автоматы распознающие термы, далее они пересекаются со словарями (ктоторые тоже, сюрприз, автоматы). Сложность операции пропорциональна размеру пересекаемого словаря, и кроме того в случае обратного индекса она возвращает много списков вхождений в которых надо искать подсвечиваемый документ. В случае терм вектора имеем маленький словарь термов на каждый документ.
Его банят за компанию с линкедином.
Получается term_vector не обратный список, а просто доп. информация к документу с указанием положения термов. И весь прикол в том, что при подсветке надо найти пересечение с добавками fuzziness в запросе и этим списком term_vector?
всё такъ
Блин. Утром проснулся и опять всё сломалось в голове... 
Почему unifield в этом случае не использует offsets?
Зачем по новой анализирует документ?
По готовому списку все равно быстрее бежать.
Или это частный случай и подразумевается что обратный индекс здоровенный т.к. он один на все документы в индексе и дешевле маленький документ анализировать по новой?
Это ссылка на последний комментарий Джима, который как раз отвечает на эти вопросы.