Меню


[I128-2585] DP_Irbis64Native выполняет потоковый поиск для массовых операций


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2585] DP_Irbis64Native выполняет потоковый поиск для массовых операций📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Новые возможности 2026.3 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: ИРБИС 128. Модуль DP_Irbis64Native - Нативный провайдер данных к файлам СУБД ИРБИС 64/64+

Завершено: 30.06.2026 12:18

Пользовательский опыт: Операции, которые используют поиск как источник больших списков MFN, должны получать результат постепенно и без лишнего расхода памяти. Пустой поиск и потоковые сценарии не должны возвращать логически удаленные, физически удаленные или отсутствующие записи, а длительный поиск должен уметь отдавать прогресс и корректно прерываться.

Что изменяется: В DP_Irbis64Native обновляется external call Search. Пустой поиск начинает считать и возвращать только видимые MFN. Добавляется ProgressCallback, поддержка отмены и режим ReturnMfnIterable для выдачи MFN через iterable без материализации полного массива. Поисковый результат может обходиться через BitList::iterateIntArray с учетом направления, диапазона, FirstMfn и NumMfn. Дополнительно оптимизируются координатные и distanceсценарии, чтобы не загружать postingи шире необходимого.

Новый/изменившийся пользовательский опыт: Будущие массовые операции Database смогут запускаться по поисковой выборке на больших БД без построения большого массива MFN в памяти. Для пользователя это означает более устойчивую работу длительных операций, корректный прогресс и отсутствие удаленных записей в результатах пустого/потокового поиска.

Границы задачи: Задача меняет только provider-level Search в DP_Irbis64Native. Она не добавляет окна Database, не запускает FtCache и не меняет отдельные действия импорта/экспорта.

Зависимости: Задача зависит от I1282532 для BitList::iterateIntArray и от I1282553 для проверки видимости MFN.

Документация: Отдельное изменение пользовательской документации в этой задаче не требуется: пользовательские сценарии будут описаны вместе с массовыми Database-операциями, которые используют потоковый поиск.

-

Вторая волна для develop.

Порядок review/merge: 34 из 68. Ветка пересобрана от develop как независимый PR: diff показывает только файлы своего слоя изменений.

1. Связанные задачи

1.1. 🔗 blocks: I128-2586

[I128-2586] Database предоставляет MFN-итератор поисковой выборки Статус: Завершено | Автор: Ilya Mikhaylenko

1.2. 🔗 blocks: I128-2604

[I128-2604] Фоновый запуск глобальной корректировки через управление БД Статус: Завершено | Автор: Ilya Mikhaylenko

1.3. 🔗 blocks: I128-2613

[I128-2613] Справка по потоковой обработке координатного поиска Статус: Завершено | Автор: Ilya Mikhaylenko

1.4. 🔗 blocks: I128-2620

[I128-2620] Database: кеширование full-text страниц PDF и TXT Статус: Завершено | Автор: Ilya Mikhaylenko

1.5. 🔗 blocks: I128-2532

[I128-2532] DP_Irbis64Native потоково выдает MFN из битового списка Статус: Завершено | Автор: Ilya Mikhaylenko

1.6. 🔗 blocks: I128-2553

[I128-2553] DP_Irbis64Native получает проверку видимости MFN для поисковых операций Статус: Завершено | Автор: Ilya Mikhaylenko