[I128-2524] DP_Irbis64Native не должен отрезать знак $ в терминах усеченного поиска


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


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.2.3 🔘 Завершено Средний Ilya Mikhaylenko

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

Завершено: 29.06.2026 14:23

Проблема: Токенизатор поисковых выражений DP_Irbis64Native воспринимает завершающий знак $ внутри термина как оператор расстояния, если термин длиннее одного символа.

Из-за этого выражение усеченного поиска, например A=$, разбирается некорректно: $ отделяется от термина, хотя в поисковом языке IRBIS такой знак должен оставаться частью термина и обозначать усечение/префиксный поиск.

Ожидаемое поведение: Знак $ должен считаться оператором только когда он записан как отдельный оператор между терминами, например A= $ B=. Если $ находится в конце самого термина, например A=$, он должен оставаться частью термина.

Что изменяется: В IrbisTokenizer меняется обработка некавыченных терминов: завершающая точка . по-прежнему может отделяться как оператор, а завершающий $ больше не отрезается от термина.

После изменения: A=$ разбирается как один поисковый термин. A= $ B= по-прежнему разбирается как выражение с оператором $. A= . B= по-прежнему разбирается как выражение с оператором ..