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


Создание или обновление индексатора (предварительная версия REST API)

применимо к: 2023-07-01-Preview. Эта версия больше не поддерживается. немедленное обновление до более новой версии.

Важный

2023-07-01-Preview (без изменений).

2021-04-30-Preview добавляет поддержку управляемого удостоверения для кэша обогащения и ключей шифрования:

  • "storageConnectionString" принимает идентификатор ресурса для подключения управляемого удостоверения, назначаемого системой, к службе хранилища Azure. Это свойство находится в "кэш". Назначаемое пользователем управляемое удостоверение не поддерживается.
  • "identity" принимает управляемое удостоверение, назначаемое пользователем.

2020-06-30-Preview добавляет:

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

Вы можете использовать POST или PUT в запросе на создание. Для любого из них текст запроса предоставляет определение объекта.

POST https://[service name].search.windows.net/indexers?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]  

Для запросов на обновление используйте PUT и укажите имя индексатора в URI.

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

HttpS требуется для всех запросов службы. Если индексатор не существует, он создается. Если он уже существует, он обновляется до нового определения, но необходимо выполнить запрос выполнить индексатор, если требуется выполнить индексатор.

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

обновление индексатора не выполняется автоматически, но в зависимости от изменений и связанного источника данных может потребоваться сброс и повторное выполнение. При обновлении существующего индексатора все определение заменяется содержимым текста запроса. Как правило, лучший шаблон, используемый для обновлений, — получить определение индексатора с помощью GET, изменить его, а затем обновить его с помощью PUT.

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

Заметка

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

Параметры URI

Параметр Описание
Имя службы Обязательно. Задайте для этого уникальное, определяемое пользователем имя службы поиска.
Имя индексатора Обязательный код ресурса (URI) при использовании PUT. Имя должно быть нижним регистром, начинаться с буквы или числа, не иметь косой черты или точки, а также быть меньше 128 символов. После запуска имени с буквой или номером остальная часть имени может включать любые буквы, цифры и дефисы, если дефисы не являются последовательными.
версия API Обязательно. Дополнительные версии API см. в версиях API.

Заголовки запросов

В следующей таблице описаны обязательные и необязательные заголовки запросов.

Поля Описание
Тип контента Обязательно. Задайте для этого значение application/json
api-key Необязательно, если вы используете роли Azure и маркер носителя предоставляется в запросе, в противном случае требуется ключ. Ключ API — это уникальная, созданная системой строка, которая проверяет подлинность запроса в службе поиска. Запросы на создание должны содержать заголовок api-key, заданный для ключа администратора (в отличие от ключа запроса). Дополнительные сведения см. в статье Connect to Azure AI Search using key authentication.

Текст запроса

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

Следующий код JSON представляет собой высокоуровневое представление основных частей определения.

{   
    "name" : (optional on PUT; required on POST) "Name of the indexer",  
    "description" : (optional) "Anything you want, or nothing at all", 
    "dataSourceName" : (required) "Name of an existing data source",  
    "targetIndexName" : (required) "Name of an existing index",  
    "skillsetName" : (required for AI enrichment) "Name of an existing skillset",
    "cache":  { ... },
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters" : (optional) {
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration": { }
    },
    "fieldMappings" : (optional) { ... },
    "outputFieldMappings" : (required for AI enrichment) { ... },
    "encryptionKey":(optional) { },
    "disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}  

Запрос содержит следующие свойства:

Свойство Описание
имя Обязательно. Имя должно быть нижним регистром, начинаться с буквы или числа, не иметь косой черты или точки, а также быть меньше 128 символов. После запуска имени с буквой или номером остальная часть имени может включать любые буквы, цифры и дефисы, если дефисы не являются последовательными.
описание Необязательный. Описание индексатора.
dataSourceName Обязательно. Имя существующего источника данных, предоставляющего сведения о подключении и другие свойства.
targetIndexName Обязательно. Имя существующего индекса.
skillsetName Требуется для обогащения ИИ. Имя существующего набора навыков.
кэша Необязательно для обогащения ИИ позволяет повторно использовать без изменений документы.
расписания Необязательный, но выполняется сразу же, если не указано.
параметры Необязательный. Свойства для изменения поведения среды выполнения.
fieldMappings Необязательный. Используется, когда исходные и целевые поля имеют разные имена.
outputFieldMappings Требуется для обогащения ИИ. Сопоставляет выходные данные из набора навыков с индексом или проекцией.
encryptionKey Необязательный. Используется для шифрования неактивных данных индексатора с помощью собственных ключей, управляемых в Azure Key Vault. Дополнительные сведения см. в статье шифрования поиска ИИ Azure с помощью ключей, управляемых клиентом, в Azure Key Vault.
нетрудоспособный Необязательный. Логическое значение, указывающее, отключен ли индексатор. Значение false по умолчанию.

Ответ

201 Создан для успешного запроса.

Примеры

пример: индексатор на основе текста с расписанием и параметром

В этом примере создается индексатор, который копирует данные из таблицы, на которую ссылается источник данных order-sds в индекс orders-idx по расписанию, которое начинается 1 января 2022 года UTC и выполняется почасово. Каждый вызов индексатора будет успешным, если не более 5 элементов не будут индексированы в каждом пакете, и не более 10 элементов не будут индексированы в общей сложности. Сопоставления полей предоставляют путь к данным, если имена полей и типы не совпадают.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "orders-ds",  
    "targetIndexName" : "orders-idx", 
    "fieldMappings" : [
      {
          "sourceFieldName" : "content",
          "targetFieldName" : "sourceContent"
      }
    ], 
    "schedule" : { "interval" : "PT1H", "startTime" : "2022-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

пример : индексатор навыков

В этом примере демонстрируется обогащение ИИ, указанное в ссылке на набор навыков и outputFieldMappings, которые сопоставляют выходные данные навыка с полями в индексе поиска. наборы навыков — это высокоуровневые ресурсы, определенные отдельно.

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

{
  "name":"demo-indexer",	
  "dataSourceName" : "demo-data",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "DefaultEndpointsProtocol=https;AccountName=<storage-account-name>;AccountKey=<storage-account-key>;EndpointSuffix=core.windows.net",
      "enableReprocessing": true
    },
  "fieldMappings" : [ ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
  	"maxFailedItems":-1,
  	"configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

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

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

{
  "name":"demo-indexer",
  "dataSourceName" : "demodata-ds",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "ResourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/<container-name>;",
      "enableReprocessing": true
    },
  "fieldMappings" : [  ],
  "outputFieldMappings" :  [  ],
  "parameters": {  }
}

Определения

Связь Описание
кэша Настраивает кэширование для обогащения ИИ и выполнения набора навыков.
encryptionKey Настраивает подключение к Azure Key Vault для шифрования, управляемого клиентом.
fieldMappings Сопоставления полей исходного назначения для полей, которые не соответствуют имени и типу.
outputFieldMappings Сопоставляет узлы в обогащенном документе с полями в индексе. Требуется, если вы используете наборы навыков.
параметры Настраивает индексатор. Параметры включают общие параметры и параметры, относящиеся к источнику.
расписания Задает интервал и частоту запланированного выполнения индексатора.

кэш (предварительная версия)

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

"cache" : 
  {
    "storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
    "enableReprocessing": true
  }

Объект кэша имеет обязательные и необязательные свойства.

Свойство Описание
storageConnectionString Обязательно. Указывает учетную запись хранения, используемую для кэширования промежуточных результатов. Используя указанную учетную запись, служба поиска создаст префикс контейнера BLOB-объектов, который ms-az-search-indexercache и завершился с идентификатором GUID, уникальным для индексатора. Оно должно быть задано как строкой подключения с полным доступом, которая включает ключ, либо уникальный идентификатор ресурса учетной записи хранения для запросов, прошедших проверку подлинности с помощью Azure AD.

Для проверки подлинности с помощью Azure AD служба поиска должна быть настроена для использования управляемого удостоверения, а удостоверение должно иметь разрешение "Участник данных BLOB-объектов хранилища".
enableReprocessing Необязательный. Логическое свойство (true по умолчанию) для управления обработкой входящих документов, уже представленных в кэше. При true (по умолчанию) документы, уже имеющиеся в кэше, обрабатываются при повторном запуске индексатора, если обновление навыка влияет на этот документ. Если false, существующие документы не обрабатывается повторно, эффективно приоритетируя новое, входящее содержимое по сравнению с существующим содержимым. Необходимо задать только enableReprocessingfalse на временной основе. Чтобы обеспечить согласованность в корпусе, enableReprocessing следует true большую часть времени, гарантируя, что все документы, как новые, так и существующие, допустимы для текущего определения набора навыков.
ИДЕНТИФИКАТОР Только для чтения. Создается после создания кэша. ID — это идентификатор контейнера в учетной записи хранения, которая будет использоваться в качестве кэша для этого индексатора. Этот кэш будет уникальным для этого индексатора, и если индексатор удаляется и повторно создается с тем же именем, то ID будет повторно создан. Не удается задать ID, он всегда создается службой.

расписание

Индексатор может дополнительно указать расписание. Без расписания индексатор выполняется немедленно при отправке запроса: подключение к, обходу и индексации источника данных. В некоторых сценариях, включая длительные задания индексирования, расписания используются для расширения окна обработки за пределы 24-часового максимума. Если расписание присутствует, индексатор периодически выполняется в соответствии с расписанием. Планировщик встроен; Вы не можете использовать внешний планировщик. расписания имеет следующие атрибуты:

  • интервал: обязательный. Значение длительности, указывающее интервал или период для запусков индексатора. Наименьший допустимый интервал составляет пять минут; самый длинный день. Он должен быть отформатирован как значение XSD "dayTimeDuration" (ограниченное подмножество длительности ISO 8601). Шаблон для этого: "P[nD][T[nH][nM]]". примеры: PT15M каждые 15 минут PT2H каждые 2 часа.

  • startTime: необязательно. Дата в формате UTC при запуске индексатора.

Заметка

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

Параметры

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

{
  "name" : "my-blob-indexer-for-cognitive-search",
  ... other indexer properties
  "parameters" : { 
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration" : { 
            "parsingMode" : "json", 
            "indexedFileNameExtensions" : ".json, .jpg, .png", 
            "imageAction" : "generateNormalizedImages", 
            "dataToExtract" : "contentAndMetadata" } }
}

Общие параметры для всех индексаторов

Параметр Тип и допустимые значения Употребление
"batchSize" Целое число
По умолчанию используется источник (1000 для базы данных SQL Azure и Azure Cosmos DB, 10 для хранилища BLOB-объектов Azure)
Указывает количество элементов, которые считываются из источника данных и индексируются как один пакет, чтобы повысить производительность.
"maxFailedItems" Целое число
Значение по умолчанию — 0
Количество ошибок, допускаемых до запуска индексатора, считается сбоем. Установите значение -1, если вам не нужны ошибки, чтобы остановить процесс индексирования. Вы можете получить сведения о неудачных элементах с помощью получения состояния индексатора.
"maxFailedItemsPerBatch" Целое число
Значение по умолчанию — 0
Количество ошибок, допускаемых в каждом пакете перед запуском индексатора, считается сбоем. Установите значение -1, если вам не нужны ошибки, чтобы остановить процесс индексирования.
"base64EncodeKeys" Булев
Значение по умолчанию — true
Допустимые значения: null, true или false. Если задано значение false, индексатор не будет автоматически кодировать значения поля, указанного в качестве ключа документа. Если задать это свойство, необходимо указать функцию сопоставления, которая base64 кодирует значения ключей (например, дефисы), которые в противном случае недопустимы в ключе документа.

Параметры конфигурации BLOB-объектов

Несколько параметров являются эксклюзивными для определенного индексатора, например индексации BLOB-объектов Azure.

Параметр Тип и допустимые значения Употребление
"parsingMode" Струна
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Для больших двоичных объектов Azureустановите значение text для повышения производительности индексирования файлов обычного текста в хранилище BLOB-объектов.
Для BLOB-объектов CSVустановите значение delimitedText, если большие двоичные объекты являются обычными CSV-файлами.
Для БОЛЬШИХ двоичных объектов JSONустановите значение json для извлечения структурированного содержимого или jsonArray для извлечения отдельных элементов массива в виде отдельных документов в службе "Поиск ИИ Azure". Используйте jsonLines для извлечения отдельных сущностей JSON, разделенных новой строкой, в качестве отдельных документов в службе "Поиск ИИ Azure".
"excludedFileNameExtensions" Струна
Список с разделителями-запятыми
определяемый пользователем
Для больших двоичных объектов Azureигнорируйте любые типы файлов в списке. Например, можно исключить ".png, .png, .mp4" для пропуска этих файлов во время индексирования.
"indexedFileNameExtensions" Струна
Список с разделителями-запятыми
определяемый пользователем
Для больших двоичных объектов Azureвыберите большие двоичные объекты, если расширение файла находится в списке. Например, можно сосредоточить индексирование на определенных файлах приложений ".docx, .pptx, .msg", чтобы в частности включить эти типы файлов.
"failOnUnsupportedContentType" Булев
истинный
false (по умолчанию)
Для больших двоичных объектов Azureустановите значение false, если вы хотите продолжить индексирование при обнаружении неподдерживаемого типа контента, и вы не знаете все типы контента (расширения файлов) заранее.
"failOnUnprocessableDocument" Булев
истинный
false (по умолчанию)
Для больших двоичных объектов Azureустановите значение false, если вы хотите продолжить индексирование, если документ завершается ошибкой индексирования.
"indexStorageMetadataOnly
ForOversizedDocuments"
Логическое значение true
false (по умолчанию)
Для больших двоичных объектов Azureзадайте для этого свойства значение true для индексирования метаданных хранилища для содержимого BLOB-объектов, слишком большого размера для обработки. Слишком большие двоичные объекты обрабатываются как ошибки по умолчанию. Ограничения размера большого двоичного объекта см. вограничения службы.
"delimitedTextHeaders" Струна
Список с разделителями-запятыми
определяемый пользователем
Для BLOB-объектов CSVуказывается список заголовков столбцов с разделителями-запятыми, который полезен для сопоставления исходных полей с целевыми полями в индексе.
"delimitedTextDelimiter" Струна
один символ
определяемый пользователем
Для BLOB-объектов CSVзадает разделитель конца строки для CSV-файлов, где каждая строка запускает новый документ (например, "|").
"firstLineContainsHeaders" Булев
true (по умолчанию)
ложный
Для BLOB-объектов CSVуказывает, что первая (непустая) строка каждого большого двоичного объекта содержит заголовки.
"documentRoot" Струна
определяемый пользователем путь
Для массивов JSON , учитывая структурированный или полуструктурированный документ, можно указать путь к массиву с помощью этого свойства.
"dataToExtract" Струна
"storageMetadata"
"allMetadata"
"contentAndMetadata" (по умолчанию)
Для больших двоичных объектов Azure :
Задайте для "storageMetadata" индексировать только стандартные свойства BLOB-объектов и пользовательские метаданные.
Задайте значение "allMetadata" для извлечения метаданных, предоставляемых подсистемой хранилища BLOB-объектов Azure , а также индексируются метаданных конкретного типа контента (например, метаданные, уникальные только для .png файлов).
Задайте значение "contentAndMetadata", чтобы извлечь все метаданные и текстовое содержимое из каждого большого двоичного объекта.

Для анализа изображений вобогащения ИИ, если "imageAction" задано значение, отличное от "none", параметр "dataToExtract" указывает индексатору, какие данные извлекаются из содержимого изображения. Применяется к внедренным содержимому изображения в .PDF или другом приложении или файлах изображений, таких как .jpg и .png, в больших двоичных объектах Azure.
"imageAction" Струна
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Для больших двоичных объектов Azureустановите значение"none", чтобы игнорировать внедренные образы или файлы изображений в наборе данных. Это значение по умолчанию.

Для анализа изображений вобогащения ИИ установите значение"generateNormalizedImages", чтобы извлечь текст из изображений (например, слово "остановить" из знака остановки трафика) и внедрить его в поле содержимого. Во время анализа изображений индексатор создает массив нормализованных изображений в рамках взлома документов и внедряет созданные сведения в поле содержимого. Для этого действия требуется, чтобы для "dataToExtract" задано значение "contentAndMetadata". Нормализованное изображение относится к дополнительной обработке, что приводит к однородному выводу изображения, размеру и повороту для повышения согласованности отрисовки при включении изображений в результаты визуального поиска (например, фотографии с одинаковыми размерами в элементе управления графом, как показано в демонстрационной версии JFK JFK). Эти сведения создаются для каждого изображения при использовании этого параметра.

Если задано значение "generateNormalizedImagePerPage", PDF-файлы будут обрабатываться по-разному, а не извлекать внедренные изображения, каждая страница будет отображаться в виде изображения и нормализована соответствующим образом. Типы файлов, отличные от PDF, будут обрабатываться так же, как если бы "generateNormalizedImages" был задан.

Установка конфигурации на любое значение, отличное от , требует, чтобы набор навыков также был присоединен к индексатору.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Любое целое число от 50 до 10000 Максимальная ширина или высота (в пикселях) соответственно для нормализованных изображений, создаваемых при установке "imageAction". Значение по умолчанию — 2000.

Значение по умолчанию 2000 пикселей для нормализованных изображений максимальной ширины и высоты основано на максимальных размерах, поддерживаемых навыком OCR и навыком анализа изображений. навык OCR поддерживает максимальную ширину и высоту 4200 для языков, отличных от английского языка, и 10000 для английского языка. Если увеличить максимальные ограничения, обработка может завершиться ошибкой на больших изображениях в зависимости от определения набора навыков и языка документов.
"allowSkillsetToReadFileData" Булев
истинный
false (по умолчанию)
При задании параметра "allowSkillsetToReadFileData" значение true будет создан путь /document/file_data, представляющий исходные данные файла, скачанные из источника данных BLOB-объектов. Это позволяет передавать исходные данные файла в пользовательские навыки для обработки в конвейере обогащения или в навык извлечения документов. Созданный объект будет определен следующим образом: { "$type": "file", "data": "BASE64 encoded string of the file" }

Для параметра требуется, чтобы набор навыков был присоединен к индексатору, для параметра задано значение , или , а параметр имеет значение или .
"pdfTextRotationAlgorithm" Струна
"none" (по умолчанию)
"detectAngles"
Установка параметра "pdfTextRotationAlgorithm" на "detectAngles" может помочь повысить эффективность и более удобочитаемое извлечение текста из PDF-файлов, вращающих текст внутри них. Обратите внимание, что при использовании этого параметра может быть небольшое влияние на скорость производительности. Этот параметр применяется только к PDF-файлам и только к PDF-файлам с внедренным текстом. Если вращаемый текст отображается в внедренном изображении в ФОРМАТЕ PDF, этот параметр не применяется.

Если для параметра "pdfTextRotationAlgorithm" задано значение "detectAngles", для параметра "parsingMode" задано значение "default".

Параметры конфигурации Azure Cosmos DB

Следующие параметры относятся к индексаторам Cosmos DB.

Параметр Тип и допустимые значения Употребление
"assumeOrderByHighWaterMarkColumn" Булев Для индексаторов Cosmos DB сAPI SQL задайте этот параметр, чтобы указать Cosmos DB, что запрос, используемый для возврата документов для индексирования, фактически упорядочивается столбцом _ts. Задание этого параметра дает лучшие результаты для сценариев добавочного индексирования .

Параметры конфигурации SQL Azure

Следующие параметры относятся к базе данных SQL Azure.

Параметр Тип и допустимые значения Употребление
"queryTimeout" Струна
"hh:mm:ss"
"00:05:00"
Задайте для этого параметра переопределение 5-минутного значения по умолчанию.
"convertHighWaterMarkToRowVersion" Булев Задайте для этого параметра значение true, чтобы использовать тип данных rowversion для столбца с высокой меткой воды. Если для этого свойства задано значение true, индексатор вычитает один из значения rowversion перед запуском индексатора. Это происходит из-за того, что представления с соединениями "один ко многим" могут иметь строки с повторяющимися значениями rowversion. Вычитание одного гарантирует, что запрос индексатора не пропускает эти строки.
"disableOrderByHighWaterMarkColumn" Булев Установите для этого параметра значение true, если вы хотите отключить поведение ORDER BY в запросе, используемом для обнаружения изменений. Если вы используете политику обнаружения изменений с высоким уровнем воды, индексатор использует предложения WHERE и ORDER BY для отслеживания того, какие строки требуют индексирования (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Этот параметр отключает поведение ORDER BY. Индексирование завершится быстрее, но компромисс заключается в том, что если индексатор прерван по какой-либо причине, все задание индексатора должно быть повторено в полном объеме.

fieldMappings

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

Атрибут Описание
sourceFieldName Обязательно. Имя исходного столбца.
targetFieldName Обязательно. Имя соответствующего поля в индексе поиска.
сопоставлениеFunction Необязательный. Добавляет обработку к исходным значениям в поисковой системе. Например, произвольное строковое значение может быть закодировано в кодировке Base64, чтобы его можно было использовать для заполнения поля ключа документа. Функция сопоставления имеет имя и параметры. Допустимые значения:

base64Encode
base64Decode
extractTokenAtPosition
jsonArrayToStringCollection
urlEncode
urlDecode

outputFieldMappings

Указывает выходные данные навыка (или узлы в дереве обогащения) в поля в индексе поиска.

  "outputFieldMappings" : [
        {
          "sourceFieldName" : "/document/organizations", 
          "targetFieldName" : "organizations"
        },
        {
          "sourceFieldName" : "/document/pages/*/keyPhrases/*", 
          "targetFieldName" : "keyphrases"
        },
        {
            "sourceFieldName": "/document/languageCode",
            "targetFieldName": "language",
            "mappingFunction": null
        }      
   ],

encryptionKey

Настраивает подключение к Azure Key Vault для дополнительных ключей шифрования, управляемых клиентом (CMK),. Шифрование с помощью ключей, управляемых клиентом, недоступно для бесплатных служб. Для платных служб она доступна только для служб поиска, созданных в 2019-01-01.01.

Подключение к хранилищу ключей должно пройти проверку подлинности. Для этой цели можно использовать "accessCredentials" или управляемое удостоверение.

Управляемые удостоверения могут быть системными или назначаемыми пользователем (предварительная версия). Если у службы поиска есть управляемое удостоверение, назначаемое системой, и назначение роли, которое предоставляет доступ на чтение к хранилищу ключей, можно пропустить как удостоверение, так и "accessCredentials", а запрос будет проходить проверку подлинности с помощью системного управляемого удостоверения. Если служба поиска имеет назначаемое пользователем удостоверение и назначение ролей, задайте для свойства identity идентификатор ресурса этого удостоверения.

Атрибут Описание
keyVaultKeyName Обязательно. Имя ключа Azure Key Vault, используемого для шифрования.
keyVaultKeyVersion Обязательно. Версия ключа Azure Key Vault.
keyVaultUri Обязательно. URI Azure Key Vault (также называется DNS-именем), который предоставляет ключ. Пример URI может быть https://my-keyvault-name.vault.azure.net
accessCredentials Опустить, если вы используете управляемое удостоверение. В противном случае свойства accessCredentials включают applicationId (идентификатор приложения Azure Active Directory, имеющий разрешения на доступ к указанному Хранилищу ключей Azure) и applicationSecret (ключ проверки подлинности указанного приложения Azure AD).
тождество Необязательно, если вы не используете управляемое удостоверение, назначаемое пользователем, для подключения службы поиска к Azure Key Vault. Формат "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]".

См. также