l2 component exists to store per-document data of variable length (geo poligons, suberf), and provide access to them on L2 stage of ranking, with maximal possible efficiency.
This component was designed to be used as a "base class" to derive more specific features from it.

---

l2 существует, чтобы хранить подокументные данных переменной длины (гео-полигоны, regerf-подобные данные и т.д.), и давать доступ к ним максимально быстро (без чтения с диска и сложной распаковки/десериализации полного TParsedDoc). Данные на самом деле хранятся в cлое фулларка (fullarchive) с названием "l2", который должен быть сконфигурирован как замаппленный в память.

Индексы на l2 медленнее, чем fastarchive, но позволяют обойтись без чтения с диска на первых стадиях фильтрации (и т.о. данные приходят быстрее, чем из indexarc или fullarc.full).
Кроме того, в отличие от чистого fullarc, не навязывается протобуф сериализация (можно брать оффроад-кодеки и использовать сырой блоб на поиске).

В чистом виде хранение блоба, пришедшего из TMessage как "#p", нигде не используется (кроме тестов). Вместо этого, унаследованные от l2 компоненты определяют собственный механизм парсинга (offroad кодирование для suberf, прототобуф-кодирование для неинвертированного индекса из геокомпоненты).




