Поделиться через


Индексирование данных из библиотек документов SharePoint

Это важно

Поддержка индексатора SharePoint в Microsoft 365 доступна в общедоступной предварительной версии. Он предлагает "как есть", в соответствии с дополнительными условиями использования и поддерживается только для лучших усилий. Предварительные версии функций не рекомендуется использовать для рабочих нагрузок и не гарантируется, что они становятся общедоступными.

Перед началом работы ознакомьтесь с разделом об известных ограничениях .

Заполните эту форму , чтобы зарегистрировать предварительную версию. Все запросы утверждены автоматически. После заполнения формы используйте REST API предварительной версии для индексирования содержимого.

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

В службе "Поиск ИИ Azure" индексатор извлекает данные и метаданные, доступные для поиска, из источника данных. Индексатор SharePoint в Microsoft 365 предоставляет следующие функции:

  • Индексирует файлы и метаданные из одной или нескольких библиотек документов.
  • Индексы постепенно собирают только новые и измененные файлы и метаданные.
  • Автоматически обнаруживает удаленное содержимое. Удаление документов в библиотеке выполняется при следующем запуске индексатора, а соответствующий документ поиска удаляется из индекса.
  • Извлекает текст и нормализованные изображения из индексированных документов автоматически. При необходимости можно добавить набор навыков для более глубокого обогащения ИИ, например оптического распознавания символов (OCR) или распознавания сущностей.
  • Поддерживает прием базовых списков управления доступом (ACL) в общедоступной предварительной версии во время начальной синхронизации документов. Также поддерживается полная пошаговая синхронизация всего набора данных.
  • Поддерживает интеграцию меток конфиденциальности Microsoft Purview и их учитывание во время выполнения запроса. Эта функция доступна в общедоступной предварительной версии.

Предпосылки

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

Индексатор SharePoint в Microsoft 365 может извлекать текст из следующих форматов документов:

Ограничения и рекомендации

Ниже приведены ограничения этой функции.

  • Индексатор может индексировать содержимое из поддерживаемых форматов документов в библиотеке документов. Поддержка индексатора отсутствует для списков SharePoint, содержимого сайтов .ASPX или файлов записных книжек OneNote. Кроме того, рекурсивное индексирование подсайтов с определенного сайта не поддерживается.

  • Ограничения добавочного индексирования:

    • Переименование папки SharePoint прерывает добавочное индексирование. Переименованная папка обрабатывается как новое содержимое.

    • Процессы Microsoft 365, обновляющие метаданные файловой системы SharePoint, могут активировать добавочное индексирование, даже если другие изменения содержимого отсутствуют. Протестируйте настройку и проверьте поведение обработки документов на платформе Microsoft 365 перед использованием индексатора или любого обогащения ИИ.

  • Ограничения безопасности:

Это важно

Не проверяйте или не включите прием ACL SharePoint (предварительная версия) и сохраняйте и соблюдайте метки конфиденциальности (предварительная версия) в одном индексаторе или индексе во время предварительной версии. Используйте отдельные индексаторы и индексы для каждой функции. Сосуществование обоих функций в настоящее время не поддерживается.

Ниже приведены некоторые рекомендации по использованию этой функции:

  • Чтобы создать пользовательское приложение Copilot или Retrieval-Augmented Generation (RAG), которое взаимодействует с данными SharePoint с помощью поиска ИИ Azure, корпорация Майкрософт рекомендует использовать источник знаний SharePoint (Remote). Этот источник знаний использует API извлечения Copilot для запроса текстового содержимого непосредственно из SharePoint в Microsoft 365, возвращая результаты агентской системе извлечения для объединения, ранжирования и формулировки ответа. Нет индекса поиска, используемого этим источником знаний, и запрашивается только текстовое содержимое. Поиск по искусственному интеллекту Azure не реплицирует данные. Он применяет модель разрешений SharePoint, возвращая только результаты, которые каждый пользователь авторизован для просмотра.

  • Если вам нужно создать пользовательское приложение Copilot/RAG (Retrieval Augmented Generation) или AI-агент для взаимодействия с данными SharePoint в производственных средах, рассмотрите возможность сначала создать его непосредственно через Microsoft Copilot Studio.

  • Если вам по-прежнему требуется пользовательское приложение Copilot/RAG или агент для индексирования данных из SharePoint в службе Azure AI Search в рабочей среде, несмотря на рекомендацию использовать Copilot Studio, рассмотрите следующее:

Независимо от выбранного подхода, будь то создание пользовательского соединителя с интеграцией SharePoint или создание сценария в Azure Logic Apps, обязательно реализуйте прочные меры безопасности. Эти меры включают настройку общих частных ссылок, настройку брандмауэров, сохранение разрешений пользователей из источника и соблюдение этих разрешений во время запроса, среди прочего. Также следует регулярно проверять и отслеживать конвейер.

Настройка SharePoint в индексаторе Microsoft 365

Чтобы настроить индексатор SharePoint в Microsoft 365, используйте REST API предварительной версии. В этом разделе приведены действия.

Шаг 1 (необязательно). Включение управляемого удостоверения, назначаемого системой

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

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

Снимок экрана: включение управляемого удостоверения, назначаемого системой.

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

Шаг 2. Определите разрешения, необходимые индексатору

Индексатор SharePoint в Microsoft 365 поддерживает как делегированные разрешения, так и разрешения приложений. Выберите разрешения, которые вы хотите использовать в зависимости от вашего сценария.

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

  • Разрешения приложения (рекомендуется), где индексатор выполняется под удостоверением клиента SharePoint с доступом ко всем сайтам и файлам. Индексатору требуется секрет клиента. Индексатор также требует утверждения администратора клиента , прежде чем он сможет индексировать содержимое. Этот тип разрешений является единственным, который поддерживает базовую конфигурацию сохранения ACL (предварительная версия). Делегированные разрешения нельзя использовать для синхронизации ACL.

  • Делегированные разрешения, где индексатор выполняется под удостоверением пользователя или приложения, отправляющего запрос. Доступ к данным ограничен сайтами и файлами, к которым имеет доступ вызывающий объект. Для поддержки делегированных разрешений индексатору требуется запрос кода устройства для входа от имени пользователя. Делегированные пользователем разрешения применяют срок действия маркера каждые 75 минут на последние библиотеки безопасности, используемые для реализации этого типа проверки подлинности. Это не поведение, которое можно изменить. Для маркера с истекшим сроком действия требуется ручное индексирование с помощью индексатора Run (предварительная версия). По этой причине вместо этого следует использовать разрешения на основе приложений. Эта конфигурация рекомендуется только для небольших операций тестирования из-за истечения срока действия маркера и так как этот тип разрешений не поддерживает какой-либо уровень конфигурации сохранения ACL .

Шаг 3. Создание регистрации приложения Microsoft Entra

Индексатор SharePoint в Microsoft 365 использует приложение Microsoft Entra для проверки подлинности. Создайте регистрацию приложения в том же клиенте, что и Azure AI Search.

  1. Войдите на портал Azure.

  2. Найдите или перейдите к идентификатору Microsoft Entra, а затем выберите "Добавить>регистрации приложений".

  3. Выберите +Создать регистрацию:

    1. Укажите имя приложения.
    2. Выберите Один клиент.
    3. Пропустите шаг обозначения URI. URI перенаправления не требуется.
    4. Выберите Зарегистрировать.
  4. На панели навигации в разделе "Управление" выберите разрешения API, а затем добавьте разрешение, а затем Microsoft Graph.

    • Если индексатор использует разрешения API приложения, выберите разрешения приложения .

      Снимок экрана: разрешения API приложения.

      Использование разрешений приложения означает, что индексатор обращается к сайту SharePoint в контексте службы. Таким образом, при запуске индексатора он имеет доступ ко всему содержимому в клиенте SharePoint, для которого требуется утверждение администратора клиента. Для проверки подлинности также требуется конфигурация секрета клиента или без секрета. Настройка механизма проверки подлинности описана далее в этой статье в разделе режимов проверки подлинности только для разрешений API приложений.

    • Если индексатор использует делегированные разрешения API, выберите делегированные разрешения , а затем выберите Delegated - Files.Read.All, Delegated - Sites.Read.Allи Delegated - User.Read.

      Снимок экрана: делегированные разрешения API.

      Делегированные разрешения позволяют клиенту поиска подключаться к SharePoint под удостоверением безопасности текущего пользователя.

  5. Предоставьте согласие администратора.

    При использовании разрешений API приложения требуется согласие администратора клиента. Некоторые клиенты блокируются таким образом, чтобы согласие администратора клиента также требовалось для делегированных разрешений API. Если одно из этих условий применяется, перед созданием индексатора необходимо предоставить согласие администратора клиента для этого приложения Microsoft Entra.

    Снимок экрана: согласие администратора приложения Microsoft Entra.

  6. Выберите вкладку Аутентификация.

  7. Установите для параметра "Разрешить общедоступные потоки клиентов" значение "Да", а затем нажмите кнопку "Сохранить".

  8. Выберите +Добавить платформу, а затем мобильные и классические приложения, а затем проверьте https://login.microsoftonline.com/common/oauth2/nativeclient, а затем настройте.

    Снимок экрана: конфигурация проверки подлинности приложения Microsoft Entra.

  9. Настройте метод проверки подлинности индексатора в соответствии с потребностями решения.

Доступные методы проверки подлинности только для разрешений API приложений

Для проверки подлинности приложения Microsoft Entra с разрешениями приложения индексатор использует секрет клиента или конфигурацию без секрета.

Использование секрета клиента

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

  • Выберите сертификаты и секреты в меню слева, а затем секреты клиента, а затем новый секрет клиента.

    Снимок экрана: новый секрет клиента.

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

    Снимок экрана: настройка секрета клиента.

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

    Снимок экрана: место копирования секрета клиента.

Использование безсекретной аутентификации для получения токенов приложения

Это инструкции по настройке приложения для того, чтобы Microsoft Entra доверяла управляемому удостоверению и могла получить токен приложения для аутентификации без использования секрета клиента, что позволяет индексатору извлекать данные из SharePoint.

Настройка зарегистрированного приложения с помощью управляемого удостоверения
  1. Создайте (или выберите) управляемое удостоверение, назначаемое пользователем, и присвойте его вашей службе поиска или системно назначаемое управляемое удостоверение, в зависимости от требований к вашему сценарию.

  2. Зафиксируйте идентификатор объекта (принципала). Это будет использоваться в составе конфигурации учетных данных при создании источника данных.

  3. Выберите сертификаты и секреты в меню слева.

  4. В разделе федеративных учетных данных выберите +Добавить учетные данные.

  5. В разделе "Федеративные учетные данные" выберите "Управляемое удостоверение".

  6. Выберите управляемое удостоверение: выберите созданное управляемое удостоверение, созданное в рамках шага 1.

  7. Добавьте имя учетных данных и нажмите кнопку "Сохранить".

Шаг 4. Создание источника данных

Начиная с этого раздела, используйте последнюю предварительную версию REST API и REST-клиент или последний поддерживаемый бета-пакет SDK для остальных шагов.

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

Чтобы индексировать SharePoint, источник данных должен иметь следующие свойства:

  • Свойство name — уникальное имя источника данных в службе поиска.
  • type — "sharepoint". Это значение зависит от регистра.
  • учетные данные предоставляют конечную точку SharePoint и метод проверки подлинности, разрешенный приложению для запроса маркеров Microsoft Entra. Пример конечной точки SharePoint.https://microsoft.sharepoint.com/teams/MySharePointSite Конечную точку можно получить, перейдя на домашнюю страницу сайта SharePoint и скопировав URL-адрес из браузера. Просмотрите формат строки подключения для поддерживаемого синтаксиса.
  • container указывает, какую библиотеку документов индексировать. Элемент управления свойствами , которые индексируются документами.

Чтобы создать источник данных, вызовите создание источника данных (предварительная версия).

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

POST https://[service name].search.windows.net/datasources?api-version=2025-11-01-preview
Content-Type: application/json
api-key: [admin key]

{
    "name" : "sharepoint-datasource",
    "type" : "sharepoint",
    "credentials" : { "connectionString" : "[connection-string]" },
    "container" : { "name" : "defaultSiteLibrary", "query" : null }
}

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

POST https://[service name].search.windows.net/datasources?api-version=2025-11-01-preview
Content-Type: application/json
api-key: [admin key]

{
    "name" : "sharepoint-datasource",
    "type" : "sharepoint",
    "credentials" : { "connectionString" : "[connection-string]" },
    "container" : { "name" : "defaultSiteLibrary", "query" : null },
    "identity": {
      "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
      "userAssignedIdentity": "/subscriptions/[Azure subscription ID]/resourceGroups/[resource-group]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[user-assigned managed identity]"
    }
}

Формат строки подключения

Формат строки подключения изменяется на основе того, использует ли индексатор делегированные разрешения API или разрешения API приложения.

  • Делегированные разрешения API строка подключения формате

    SharePointOnlineEndpoint=[SharePoint site url];ApplicationId=[Azure AD App ID];TenantId=[SharePoint site tenant id]

  • Разрешения API приложения с форматом строки подключения секрета приложения

    SharePointOnlineEndpoint=[SharePoint site url];ApplicationId=[Azure AD App ID];ApplicationSecret=[Azure AD App client secret];TenantId=[SharePoint site tenant id]

  • Разрешения API приложения с форматом строки подключения без использования секретов (управляемого системой назначаемого удостоверения)

    SharePointOnlineEndpoint=[SharePoint site url];ApplicationId=[Azure AD App ID];FederatedCredentialObjectId=[selected managed identity object (principal) ID];TenantId=[SharePoint site tenant id]

Вы можете получить tenantId на странице обзора в Центре администрирования Microsoft Entra в подписке Microsoft 365. Управляемое удостоверение object (principal) ID можно получить из раздела "Настройка зарегистрированного приложения с помощью управляемого удостоверения"

Замечание

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

Если индексатор использует конфигурацию ACL SharePoint (предварительная версия) или сохраняет и учитывает метки конфиденциальности Microsoft Purview (предварительная версия), ознакомьтесь со связанными статьями о настройке источника данных перед созданием индексатора. Каждая функция имеет определенные шаги конфигурации.

Шаг 5. Создание индекса

Индекс задает поля в документе, атрибуты, и другие компоненты, которые определяют процедуру поиска.

Чтобы создать индекс, вызовите create Index (preview):

POST https://[service name].search.windows.net/indexes?api-version=2025-11-01-preview
Content-Type: application/json
api-key: [admin key]

{
    "name" : "sharepoint-index",
    "fields": [
        { "name": "id", "type": "Edm.String", "key": true, "searchable": false },
        { "name": "metadata_spo_item_name", "type": "Edm.String", "key": false, "searchable": true, "filterable": false, "sortable": false, "facetable": false },
        { "name": "metadata_spo_item_path", "type": "Edm.String", "key": false, "searchable": false, "filterable": false, "sortable": false, "facetable": false },
        { "name": "metadata_spo_item_content_type", "type": "Edm.String", "key": false, "searchable": false, "filterable": true, "sortable": false, "facetable": true },
        { "name": "metadata_spo_item_last_modified", "type": "Edm.DateTimeOffset", "key": false, "searchable": false, "filterable": false, "sortable": true, "facetable": false },
        { "name": "metadata_spo_item_size", "type": "Edm.Int64", "key": false, "searchable": false, "filterable": false, "sortable": false, "facetable": false },
        { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false }
    ]
}

Это важно

Можно использовать только metadata_spo_site_library_item_id в качестве ключевого поля в индексе, заполненном индексом SharePoint в индексаторе Microsoft 365. Если поле ключа не существует в источнике данных, metadata_spo_site_library_item_id автоматически сопоставляется с полем ключа.

Если индексатор будет использовать конфигурацию ACL SharePoint (предварительная версия) или сохранит и учитывает метки конфиденциальности Microsoft Purview (предварительная версия), просмотрите каждую статью для конфигурации индекса и набора навыков, прежде чем продолжить создание индексатора, так как эти функции имеют определенные конфигурации.

Шаг 6. Создание индексатора

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

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

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

  1. Отправьте запрос создания индексатора (предварительная версия):

    POST https://[service name].search.windows.net/indexers?api-version=2025-11-01-preview
    Content-Type: application/json
    api-key: [admin key]
    
    {
        "name" : "sharepoint-indexer",
        "dataSourceName" : "sharepoint-datasource",
        "targetIndexName" : "sharepoint-index",
        "parameters": {
        "batchSize": null,
        "maxFailedItems": null,
        "base64EncodeKeys": null,
        "maxFailedItemsPerBatch": null,
        "configuration": {
            "indexedFileNameExtensions" : ".pdf, .docx",
            "excludedFileNameExtensions" : ".png, .jpg",
            "dataToExtract": "contentAndMetadata"
          }
        },
        "schedule" : { },
        "fieldMappings" : [
            { 
              "sourceFieldName" : "metadata_spo_site_library_item_id", 
              "targetFieldName" : "id", 
              "mappingFunction" : { 
                "name" : "base64Encode" 
              } 
             }
        ]
    }
    

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

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

    GET https://[service name].search.windows.net/indexers/sharepoint-indexer/status?api-version=2025-11-01-preview
    Content-Type: application/json
    api-key: [admin key]
    

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

  3. Скопируйте код входа устройства из ответа "Состояние индексатора ". Имя входа устройства можно найти в файле errorMessage.

    {
        "lastResult": {
            "status": "transientFailure",
            "errorMessage": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code <CODE> to authenticate."
        }
    }
    
  4. Укажите код, включенный в сообщение об ошибке.

    Снимок экрана: ввод кода устройства.

  5. Индексатор SharePoint в Microsoft 365 получит доступ к содержимому SharePoint в качестве пользователя, выполнившего вход. Пользователь, который входит в систему на этом шаге, будет пользователем, выполнившим вход. Таким образом, если вы войдешь с учетной записью пользователя, у которой нет доступа к документу в библиотеке документов, которую вы хотите индексировать, индексатор не будет иметь доступа к данному документу.

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

  6. Утвердите запрошенные разрешения.

    Снимок экрана: утверждение разрешений API.

  7. Начальный запрос создания индексатора (предварительная версия) завершается, если все указанные выше разрешения верны и в течение 10 минут.

Замечание

Если приложению Microsoft Entra требуется утверждение администратора и его не было утверждено перед входом, вы можете увидеть следующий экран. Для продолжения требуется утверждение администратора. Снимок экрана: обязательное утверждение администратора.

Шаг 7. Проверка состояния индексатора

После создания индексатора можно вызвать состояние индексатора:

GET https://[service name].search.windows.net/indexers/sharepoint-indexer/status?api-version=2025-11-01-preview
Content-Type: application/json
api-key: [admin key]

Обновление источника данных

Если нет обновлений для объекта источника данных, индексатор выполняется по расписанию без взаимодействия с пользователем.

При изменении источника данных во время истечения срока действия кода устройства войдите еще раз, чтобы запустить индексатор. Например, если изменить запрос источника данных, войдите повторно с помощью https://microsoft.com/devicelogin и получите новый код устройства.

Ниже приведены шаги по обновлению источника данных, если истек срок действия кода устройства:

  1. Вызовите индексатор запуска (предварительная версия), чтобы вручную запустить выполнение индексатора.

    POST https://[service name].search.windows.net/indexers/sharepoint-indexer/run?api-version=2025-11-01-preview  
    Content-Type: application/json
    api-key: [admin key]
    
  2. Проверьте состояние индексатора.

    GET https://[service name].search.windows.net/indexers/sharepoint-indexer/status?api-version=2025-11-01-preview
    Content-Type: application/json
    api-key: [admin key]
    
  3. Если вы получите сообщение об ошибке с просьбой посетить https://microsoft.com/devicelogin, откройте страницу и скопируйте новый код.

  4. Вставьте код в диалоговое окно.

  5. Повторно запустите индексатор вручную и проверьте состояние индексатора. На этот раз индексатор должен успешно запуститься.

Индексирование метаданных документа

Если вы индексируетсяе метаданные документа ("dataToExtract": "contentAndMetadata"), для индексирования доступны следующие метаданные.

Идентификатор Тип Description
metadata_spo_site_library_item_id Edm.String Сочетание ключа идентификатора сайта, идентификатора библиотеки и идентификатора элемента, который однозначно идентифицирует элемент в библиотеке документов для сайта.
метаданные_spo_site_id Edm.String Идентификатор сайта SharePoint.
metadata_spo_library_id Edm.String Идентификатор библиотеки документов.
metadata_spo_item_id Edm.String Идентификатор элемента (документа) в библиотеке.
метаданные_spo_элемент_последнее_изменение Edm.DateTimeOffset Дата и время последнего изменения элемента (в формате UTC).
метаданные_элемент_spo_название Edm.String Наименование номенклатуры.
метаданные_spo_размер_элемента Edm.Int64 Размер элемента в байтах.
метаданные_spo_тип_содержимого_элемента Edm.String Тип содержимого элемента.
metadata_spo_item_extension Edm.String Расширение элемента.
metadata_spo_item_weburi Edm.String URI элемента.
metadata_spo_item_path Edm.String Сочетание родительского пути и имени элемента.

Индексатор SharePoint в Microsoft 365 также поддерживает метаданные, относящиеся к каждому типу документа. Дополнительные сведения можно найти в свойствах метаданных контента, используемых в службе "Поиск ИИ Azure".

Замечание

Чтобы индексировать пользовательские метаданные, необходимо указать "additionalColumns" в параметре запроса источника данных.

Включение или исключение по типу файла

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

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

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

Управление индексацией документов

Один индексатор SharePoint в Microsoft 365 может индексировать содержимое из одной или нескольких библиотек документов. Чтобы указать, какие сайты и библиотеки документов необходимо индексировать, используйте параметр container в определении источника данных.

Раздел источника данных "контейнер" имеет два свойства для этой задачи: "имя" и "запрос".

Имя

Свойство name является обязательным и должно быть одним из трех значений:

Ценность Description
библиотекаСайтаПоУмолчанию Индексируйте все содержимое из библиотеки документов по умолчанию сайта.
allSiteLibraries Индексируйте все содержимое из всех библиотек документов на сайте. Библиотеки документов из дочернего сайта недоступны. Если требуется содержимое из дочерних сайтов, выберите "useQuery" и укажите "includeLibrariesInSite".
useQuery Индексировать только содержимое, определенное в запросе.

Query

Параметр "query" источника данных состоит из пар ключевых слов и значений. Ниже приведены ключевые слова, которые можно использовать. Значения — URL-адреса сайта или URL-адреса библиотеки документов.

Замечание

Чтобы получить значение для определенного ключевого слова, рекомендуется перейти к библиотеке документов, которую вы пытаетесь включить или исключить и скопировать URI из браузера. Это самый простой способ получить значение для использования с ключевым словом в запросе.

Keyword Описание и примеры значений
ноль Если значение равно null или пусто, индексируется либо библиотека документов по умолчанию, либо все библиотеки документов в зависимости от имени контейнера.

Пример:

"container" : { "name" : "defaultSiteLibrary", "query" : null }
включитьБиблиотекиВСайт Индексирование содержимого из всех библиотек под указанным сайтом в строка подключения. Значение должно быть URI сайта или дочернего сайта.

Пример 1:

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mycompany.sharepoint.com/mysite" }

Пример 2 (только для нескольких дочерних сайтов):

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mycompany.sharepoint.com/sites/TopSite/SubSite1;includeLibrariesInSite=https://mycompany.sharepoint.com/sites/TopSite/SubSite2" }
добавитьБиблиотеку Индексировать все содержимое из этой библиотеки. Это полный путь к библиотеке, которую можно скопировать из браузера:

Пример 1 (полный путь):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/mysite/MyDocumentLibrary" }

Пример 2 (URI, скопированный из браузера):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx" }
исключить библиотеку Не индексировать содержимое из этой библиотеки. Это полный путь к библиотеке, которую можно скопировать из браузера:

Пример 1 (полный путь):

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mysite.sharepoint.com/subsite1; excludeLibrary=https://mysite.sharepoint.com/subsite1/MyDocumentLibrary" }

Пример 2 (URI, скопированный из браузера):

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mycompany.sharepoint.com/teams/mysite; excludeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx" }
дополнительные столбцы Индексировать столбцы из библиотеки документов. Это значение представляет собой разделенный запятыми список имен столбцов, которые требуется индексировать. Используйте двойную обратную косую черту для обхода запятых и запятых в именах столбцов:

Пример 1 (additionalColumns=MyCustomColumn,MyCustomColumn2):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/mysite/MyDocumentLibrary;additionalColumns=MyCustomColumn,MyCustomColumn2" }

Пример 2 (escape-символы с двойной обратной косой чертой):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx;additionalColumns=MyCustomColumnWith\\,,MyCustomColumnWith\\;" }

Обработка ошибок

По умолчанию индексатор SharePoint в Microsoft 365 останавливается, как только он обнаруживает документ с неподдерживаемым типом контента (например, изображением). Параметр можно использовать excludedFileNameExtensions для пропуска определенных типов контента. Однако вам может потребоваться индексировать документы, не зная все возможные типы контента заранее. Чтобы продолжить индексирование при обнаружении неподдерживаемого типа содержимого, задайте для параметра конфигурации failOnUnsupportedContentType значение "false":

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2025-11-01-preview
Content-Type: application/json
api-key: [admin key]

{
    ... other parts of indexer definition
    "parameters" : { "configuration" : { "failOnUnsupportedContentType" : false } }
}

Для некоторых документов поиск Azure AI не может определить тип контента или не может обработать документ другого поддерживаемого типа контента. Чтобы пропустить этот сбой, задайте для failOnUnprocessableDocument параметра конфигурации значение False:

"parameters" : { "configuration" : { "failOnUnprocessableDocument" : false } }

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

"parameters" : { "configuration" : { "indexStorageMetadataOnlyForOversizedDocuments" : true } }

Вы также можете продолжить индексирование, если ошибки возникают в какой-либо момент обработки — при анализе документов или при добавлении документов в индекс. Чтобы пропустить определенное количество ошибок, задайте для параметров конфигурации maxFailedItems и maxFailedItemsPerBatch нужные значения. Рассмотрим пример.

{
    ... other parts of indexer definition
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 10 }
}

Если файл на сайте SharePoint включен шифрование, может появиться следующее сообщение об ошибке:

Code: resourceModified Message: The resource has changed since the caller last read it; usually an eTag mismatch Inner error: Code: irmEncryptFailedToFindProtector

Сообщение об ошибке также будет содержать идентификатор сайта SharePoint, идентификатор диска и идентификатор элемента диска в следующем шаблоне: <sharepoint site id> :: <drive id> :: <drive item id> Эти сведения можно использовать для определения того, какой элемент завершается сбоем в конце SharePoint. Затем пользователь может удалить шифрование из элемента, чтобы устранить проблему.

См. также