НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте 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= по-прежнему разбирается как выражение с оператором ..