Индексирование данных из Файлы Azure (предварительная версия)

Note

Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.

Важно

Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.

Важно

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

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

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

Индексатор Файлы Azure (предварительная версия) импортирует содержимое из общей папки в индекс Поиск с использованием ИИ Azure. Входные данные индексатора — это ваши файлы в одной общей папке. Выходные данные — это индекс поиска с содержимым, доступным для поиска, и метаданными, хранящимися в отдельных полях.

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

Необходимые условия

Поддерживаемые задачи

Этот индексатор можно использовать для следующих задач:

Поддерживаемые форматы документов

Индексатор Файлы Azure может извлекать текст из следующих форматов документов:

Как индексируются Файлы Azure

По умолчанию большинство файлов индексируются как один документ поиска в индексе, включая файлы со структурированным содержимым, например JSON или CSV, которые индексируются как один блок текста.

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

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

Определение источника данных

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

Для типа "azurefile"можно использовать 2020-06-30-preview или более поздней версии. Рекомендуется использовать последнюю предварительную версию API.

  1. Создайте источник данных для задания его определения с помощью API предварительной версии для "type": "azurefile".

    POST /datasources?api-version=2026-08-01-preview
    {
        "name" : "my-file-datasource",
        "type" : "azurefile",
        "credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" },
        "container" : { "name" : "my-file-share", "query" : "<optional-directory-name>" }
    }
    
  2. Установите «type» на "azurefile" (обязательно).

  3. Задайте для параметра credentials значение служба хранилища Azure строка подключения. В следующем разделе описаны поддерживаемые форматы.

  4. Установите "container" для корневого файлового хранилища и используйте "query", чтобы указать любые вложенные папки.

Определение источника данных также может включать политики обратимого удаления, если требуется, чтобы индексатор удалил документ поиска, когда исходный документ помечен для удаления.

Поддерживаемые учетные данные и строки подключения

Индексаторы могут подключаться к общей папке с помощью следующих подключений.

Строка подключения для учетной записи хранения с полным доступом
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" }
Вы можете получить строку подключения на странице учетной записи хранилища на портале Azure, выбрав ключи доступа в левой панели. Не забудьте выбрать полную строку подключения, а не только ключ.

Добавление полей поиска в индекс

В индексе search добавьте поля для принятия содержимого и метаданных файлов Azure.

  1. Создайте или обновите индекс , чтобы определить поля поиска, которые будут хранить содержимое файла и метаданные.

    POST /indexes?api-version=2026-04-01
    {
      "name" : "my-search-index",
      "fields": [
          { "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
          { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false },
          { "name": "metadata_storage_name", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_path", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
          { "name": "metadata_storage_size", "type": "Edm.Int64", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_content_type", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true }        
      ]
    }
    
  2. Создайте поле ключа документа ("key": true"). Для объектов BLOB лучшими кандидатами являются свойства метаданных. Свойства метаданных часто включают символы, такие как / и -недопустимые для ключей документов. Индексатор автоматически кодирует свойство метаданных ключа без требуемой конфигурации или сопоставления полей.

    • metadata_storage_path Полный путь к объекту или файлу (по умолчанию)

    • metadata_storage_name доступны только в том случае, если имена уникальны

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

  3. Добавьте поле "контент" для хранения извлечённого текста из каждого файла через свойство "content" BLOB. Вам не требуется использовать это имя, но это позволяет воспользоваться преимуществами неявных сопоставлений полей.

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

    • metadata_storage_name (Edm.String) — имя файла. Например, если у вас есть файл /my-share/my-folder/subfolder/resume.pdf, значение этого поля равно resume.pdf.
    • metadata_storage_path (Edm.String) — полный URI файла, включая учетную запись хранения. Например https://myaccount.file.core.windows.net/my-share/my-folder/subfolder/resume.pdf
    • metadata_storage_content_type (Edm.String) — тип контента, указанный кодом, используемым для отправки файла. Например, application/octet-stream.
    • metadata_storage_last_modified (Edm.DateTimeOffset) — последняя измененная метка времени для файла. Поиск с использованием ИИ Azure использует эту метку времени для идентификации измененных файлов, чтобы избежать переиндексирования всего после первоначального индексирования.
    • metadata_storage_size (Edm.Int64) — размер файла в байтах.
    • metadata_storage_content_md5 (Edm.String) — хэш MD5 содержимого файла, если он доступен.
    • metadata_storage_sas_token (Edm.String) — временный маркер SAS, который можно использовать пользовательскими навыками для получения доступа к файлу. Этот маркер не должен храниться для последующего использования, так как он может истекать.

Настройка и запуск индексатора Файлы Azure

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

  1. Создайте или обновите индексатор , предоставив ему имя и ссылаясь на источник данных и целевой индекс:

    POST /indexers?api-version=2026-04-01
    {
      "name" : "my-file-indexer",
      "dataSourceName" : "my-file-datasource",
      "targetIndexName" : "my-search-index",
      "parameters": {
         "batchSize": null,
         "maxFailedItems": null,
         "maxFailedItemsPerBatch": null,
         "configuration": {
            "indexedFileNameExtensions" : ".pdf,.docx",
            "excludedFileNameExtensions" : ".png,.jpeg" 
        }
      },
      "schedule" : { },
      "fieldMappings" : [ ]
    }
    
  2. В необязательном разделе "Конфигурация" укажите все критерии включения или исключения. Если не указано, извлекаются все файлы в общей папке.

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

  3. Укажите сопоставления полей , если существуют различия в имени или типе поля, или если в индексе поиска требуется несколько версий исходного поля.

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

  4. Дополнительные сведения о других свойствах см. в статье "Создание индексатора ".

Индексатор запускается автоматически при его создании. Это можно предотвратить, задав для параметра "Отключено" значение true. Чтобы управлять выполнением индексатора, запустите индексатор по запросу или поместите его в расписание.

Проверка состояния индексатора

Чтобы отслеживать состояние индексатора и журнал выполнения, отправьте запрос получения состояния индексатора:

GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2026-04-01
  Content-Type: application/json  
  api-key: [admin key]

Ответ включает состояние и количество обработанных элементов. Он должен выглядеть примерно так:

    {
        "status":"running",
        "lastResult": {
            "status":"success",
            "errorMessage":null,
            "startTime":"2022-02-21T00:23:24.957Z",
            "endTime":"2022-02-21T00:36:47.752Z",
            "errors":[],
            "itemsProcessed":1599501,
            "itemsFailed":0,
            "initialTrackingState":null,
            "finalTrackingState":null
        },
        "executionHistory":
        [
            {
                "status":"success",
                "errorMessage":null,
                "startTime":"2022-02-21T00:23:24.957Z",
                "endTime":"2022-02-21T00:36:47.752Z",
                "errors":[],
                "itemsProcessed":1599501,
                "itemsFailed":0,
                "initialTrackingState":null,
                "finalTrackingState":null
            },
            ... earlier history items
        ]
    }

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

Дальнейшие действия

Теперь можно запустить индексатор, состояние монитора или запланировать выполнение индексатора. Следующие статьи относятся к индексаторам, которые извлекает содержимое из служба хранилища Azure: