Полнотекстовый поиск


НАЧАЛО >> Нативный провайдер данных DP_Irbis64Native >> Полнотекстовый поиск📄 Скачать в DOCX


Для баз ИРБИС64+ DP_Irbis64Native поддерживает работу с полнотекстовым пространством --TEXT. Такое пространство хранит термины и postings, связанные с основными библиографическими или служебными записями.

1. Подключение полнотекстового пространства

При открытии основной базы провайдер проверяет, можно ли открыть связанное пространство <имя_базы>--TEXT. Пути для него формируются по правилам .par и каталога данных. Если полнотекстовое пространство доступно, оно открывается отдельным внутренним объектом.

Полнотекстовое пространство использует собственный набор файлов словаря и postings. При построении карты путей для <имя_базы>--TEXT провайдер направляет N01, L01, N02, L02, IFP, MST, XRF и служебные части в каталог этого пространства. Поэтому файлы N02 и L02 в документации нужно понимать как вторую пару файлов словаря: по структуре они аналогичны N01 и L01, но относятся к дополнительному индексу, а не к основному словарю обычной базы.

2. Настройки

Провайдер читает параметры полнотекстового поиска:

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

3. Поиск

FullTextSearch получает поисковое выражение, обращается к полнотекстовому пространству и возвращает связанные MFN. Затем прикладной модуль может читать и форматировать записи основной базы.

Типовой сценарий:

  1. пользователь вводит полнотекстовый запрос;
  2. провайдер ищет термины в --TEXT;
  3. postings преобразуются в список связанных записей;
  4. основной каталог используется для отображения результата;
  5. форматирование выполняется обычными средствами ИРБИС 128.

4. Актуализация полнотекста

После изменения записи или связанного текста полнотекстовый индекс должен быть актуализирован. Для этого используется внутренняя актуализация полнотекстового пространства. Если основной индекс обновлен, а полнотекстовый нет, запись может находиться по обычным префиксам и не находиться по полнотекстовому запросу.

5. Диагностика

Если полнотекстовый поиск не возвращает ожидаемый результат, нужно последовательно проверить: