Поиск по содержимому хранилища BLOB Azure

Поиск по различным типам контента, хранящимся в Хранилище BLOB-объектов Azure, может оказаться сложной задачей для решения, но поиск ИИ Azure обеспечивает глубокую интеграцию на уровне контента, извлечение и вывод текстовых сведений, которые затем могут быть запрошены в индексе поиска.

В этой статье просмотрите базовый рабочий процесс для извлечения содержимого и метаданных из больших двоичных объектов и отправки его в индекс поиска в службе "Поиск ИИ Azure". Результирующий индекс можно запрашивать с помощью полнотекстового поиска или векторного поиска. При необходимости можно отправить обработанное содержимое BLOB в хранилище знаний в сценариях, не связанных с поиском.

Примечание.

Уже знакомы с рабочим процессом и составлением? Настройте индексатор BLOB-объектов в качестве следующего шага.

Что значит добавить возможность поиска по данным BLOB-объектов

Azure AI Поиск — это автономная служба поиска, которая поддерживает индексирование и нагрузку запросов на индексы, определяемые пользователем, содержащие приватное содержимое, размещённое в облаке. Совместное размещение доступного для поиска содержимого и обработчика запросов в облаке необходимо для обеспечения той скорости возврата результатов, которую пользователи привыкли ожидать от поисковых запросов.

Поиск ИИ Azure интегрируется с Хранилищем BLOB-объектов Azure на уровне индексирования, импортируя содержимое BLOB-объектов в виде документов поиска, которые индексируются в инвертированные индексы и другие структуры данных для запросов, которые поддерживают текстовые запросы свободной формы, векторные запросы и выражения фильтров. Так как содержимое большого двоичного объекта индексируется в индекс поиска, вы можете использовать полный спектр функций запросов в службе "Поиск ИИ Azure" для поиска информации в содержимом большого двоичного объекта.

Входные данные — ваши BLOB-объекты, находящиеся в одном контейнере в хранилище BLOB-объектов Azure. Содержимое BLOB-объектов может иметь вид практически любых текстовых данных. Если большие двоичные объекты содержат изображения, можно добавить обогащение ИИ для создания и извлечения текста и функций из изображений.

Выходные данные всегда являются индексом поиска ИИ Azure, который используется для быстрого поиска текста, извлечения и изучения в клиентских приложениях. Между ними находится сама архитектура конвейера индексации. В основе конвейера лежит компонент индексатора, который рассматривается далее в этой статье.

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

Ресурсы, используемые в решении поиска BLOB-объектов

Вам потребуется Azure AI Поиск, Хранилище Azure Blob и клиент. Поиск с использованием ИИ Azure обычно является одним из нескольких компонентов в решении, где код вашего приложения отправляет API-запросы и обрабатывает ответы. Вы также можете написать код приложения для обработки индексирования, хотя для проверки концепции тестирования и импровизации задач обычно используется портал Azure в качестве клиента поиска.

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

Вы можете начать работу непосредственно на странице портала учетной записи хранения.

  1. На левой странице навигации в разделе "Управление данными" выберите "Поиск ИИ Azure", чтобы выбрать или создать службу поиска.

  2. Используйте мастер импорта, чтобы извлечь и при необходимости создать поисковое содержимое из ваших блобов. Рабочий процесс создает индексатор, источник данных, индекс и дополнительный набор навыков в службе поиска ИИ Azure.

    Снимок экрана мастера Поиск с использованием ИИ Azure на странице портала служба хранилища Azure.

  3. Используйте Поисковый обозреватель на странице портала поиска для выполнения запросов по содержимому.

Мастер — это лучшее место для начала, но вы обнаружите более гибкие параметры, когда настроите индексатор BLOB-объектов самостоятельно. Вы можете использовать клиент REST. Руководство по индексу и поиску полуструктурированных данных (BLOB-объектов JSON) содержит инструкции по вызову REST API.

Как индексируются большие двоичные объекты

По умолчанию большинство больших двоичных объектов индексируются как один документ поиска в индексе, включая большие двоичные объекты со структурированным содержимым, например JSON или CSV, которые индексируются как один блок текста. Однако для документов JSON или CSV с внутренней структурой (разделителями) можно назначить режимы синтаксического анализа для создания отдельных документов поиска для каждой строки или элемента:

Составной или внедренный документ (например, ZIP-архив, документ Word со встроенной электронной почтой Outlook, содержащий вложения или . MSG-файл с вложениями) также индексируется как один документ. Например, все изображения, извлеченные из вложений файла MSG, будут возвращены в поле normalized_images. Если у вас есть изображения, попробуйте добавить улучшение с помощью ИИ, чтобы увеличить поисковый потенциал этого содержимого.

Текстовое содержимое документа извлекается в строковое поле с именем content. Можно также извлечь стандартные и пользовательские метаданные.

Примечание.

Поиск по искусственному интеллекту Azure накладывает ограничения индексатора на то, сколько текста он извлекает в зависимости от ценовой категории. Предупреждение появится в ответе на состояние индексатора, если документы усечены.

Использование индексатора BLOB для извлечения содержимого

Индексатор — это подслужба с поддержкой источника данных в службе "Поиск ИИ Azure", оснащенная внутренней логикой для выборки данных, чтения и получения данных и метаданных, а также сериализации данных из родных форматов в документы JSON для последующего импорта.

Большие двоичные объекты в службе хранилища Azure индексируются с помощью индексатора больших двоичных объектов. Этот индексатор можно вызвать с помощью команды поиска ИИ Azure в службе хранилища Azure, мастера импорта данных на портале Azure, REST API или пакете SDK для .NET. В коде вы используете этот индексатор, устанавливая тип и предоставляя сведения о подключении, которые включают учетную запись хранения Azure и контейнер объектов BLOB. Можно сформировать подмножество BLOB-объектов, создав виртуальный каталог, который затем можно передать в качестве параметра, или выполнив фильтрацию по расширению типа файла.

Индексатор анализирует документ, открывая BLOB для проверки содержимого. Это первый шаг, который выполняется в конвейере после подключения к источнику данных. Для блоб-данных на этом этапе обнаруживаются документы в формате PDF, документы Office и другие типы содержимого. За распознавание документов с извлечением текста плата не взимается. Если BLOB-объекты содержат изображения, изображения игнорируются, пока не будет добавлено обогащение с помощью ИИ. Стандартное индексирование применяется только к текстовому содержимому.

Индексатор BLOB-объектов Azure поставляется с параметрами конфигурации и поддерживает отслеживание изменений, если базовые данные предоставляют достаточную информацию. Вы можете узнать больше об основной функциональности в Данные индекса из Хранилище BLOB-объектов Azure.

Поддерживаемые уровни доступа

Уровни доступа к хранилищу BLOB-объектов включают горячий, прохладный, холодный и архивный. Индексаторы могут получать большие двоичные объекты на горячих, холодных и холодных уровнях доступа.

Поддерживаемые типы содержимого

Запустив индексатор BLOB-объектов через контейнер, можно извлечь текст и метаданные из следующих типов контента с одним запросом:

Управление индексированием блобов

Вы можете управлять тем, какие большие двоичные объекты индексируются, а какие — нет, на основе типов файлов больших двоичных объектов или путем задания самим большим двоичным объектам свойств, благодаря которым индексатор будет их пропускать.

Включите определенные расширения файлов, задав "indexedFileNameExtensions" список, разделенный запятыми, с расширениями файлов (с ведущей точкой). Исключите определенные расширения файлов, задав "excludedFileNameExtensions" для расширений, которые следует пропустить. Если одно и то же расширение находится в обоих списках, он исключен из индексирования.

PUT /indexers/[indexer name]?api-version=2026-04-01
{
    "parameters" : { 
        "configuration" : { 
            "indexedFileNameExtensions" : ".pdf, .docx",
            "excludedFileNameExtensions" : ".png, .jpeg" 
        } 
    }
}

Добавьте метаданные "skip" к БЛОБ.

Параметры конфигурации индексатора применяются ко всем BLOB-объектам в контейнере или папке. Иногда вам требуется контролировать процесс индексации отдельных блобов.

Добавьте следующие свойства и значения метаданных в Blob-объекты в хранилище Blob. Когда индексатор обнаруживает это свойство, он пропускает BLOB или его содержимое в процессе индексирования.

Имя свойства Значение свойства Объяснение
AzureSearch_Skip "true" Указывает индексатору больших двоичных объектов пропустить весь большой двоичный объект. Не извлекаются ни метаданные, ни содержимое. Это бывает полезно, когда блоб сталкивается с постоянными сбоями и прерывает процесс индексирования.
"AzureSearch_SkipContent" "true" Это эквивалентно параметру, описанному "dataToExtract": "allMetadata", но только в пределах определенного BLOB.

Индексация метаданных BLOB-объектов

Распространенный сценарий, который упрощает сортировку BLOB любого типа контента, заключается в индексировании пользовательских метаданных и системных свойств для каждого BLOB. Таким образом, сведения обо всех BLOB-объектах индексируются независимо от типа документа и хранятся в индексе вашей службы поиска. Используя новый индекс, можно перейти к сортировке, фильтрации и фасетированию по всему содержимому хранилища BLOB-объектов.

Примечание.

Теги индекса BLOB-объектов изначально индексируются службой хранилища BLOB-объектов и предоставляются для выполнения запросов. Если атрибуты ключа и значения больших двоичных объектов требуют возможности индексирования и фильтрации, теги индекса BLOB-объектов следует использовать вместо метаданных.

Дополнительные сведения об индексе BLOB-объектов см. в статье об использовании индекса BLOB-объектов для поиска данных и управлении ими в хранилище BLOB-объектов Azure.

Поиск содержимого BLOB-объекта в индексе поиска

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

Более комплексное и окончательное решение заключается в сборе входных данных запроса и представления ответа в виде результатов поиска в клиентском приложении.

Следующие шаги