Медленный unified highlighting

терм вектор прямая структура данных - по документу получаем все термы.
в обратном индексе по можно найти документ, но определить все его термы затруднительно.
Fuzzy или prefix запросы преобразуются в конечные автоматы распознающие термы, далее они пересекаются со словарями (ктоторые тоже, сюрприз, автоматы). Сложность операции пропорциональна размеру пересекаемого словаря, и кроме того в случае обратного индекса она возвращает много списков вхождений в которых надо искать подсвечиваемый документ. В случае терм вектора имеем маленький словарь термов на каждый документ.

Его банят за компанию с линкедином.

Получается term_vector не обратный список, а просто доп. информация к документу с указанием положения термов. И весь прикол в том, что при подсветке надо найти пересечение с добавками fuzziness в запросе и этим списком term_vector?

всё такъ

Блин. Утром проснулся и опять всё сломалось в голове... :frowning:
Почему unifield в этом случае не использует offsets?
Зачем по новой анализирует документ?
По готовому списку все равно быстрее бежать.
Или это частный случай и подразумевается что обратный индекс здоровенный т.к. он один на все документы в индексе и дешевле маленький документ анализировать по новой?

Это ссылка на последний комментарий Джима, который как раз отвечает на эти вопросы.