Indexers - Create

Создает новый индексатор.

POST {endpoint}/indexers?api-version=2026-04-01

Параметры URI

Имя В Обязательно Тип Описание
endpoint
path True

string (uri)

URL-адрес конечной точки службы поиска.

api-version
query True

string

minLength: 1

Версия API, используемая для данной операции.

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

Имя Обязательно Тип Описание
Accept

Accept

Заголовок Accept.

x-ms-client-request-id

string (uuid)

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

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

Имя Обязательно Тип Описание
dataSourceName True

string

Имя источника данных, из которого индексатор считывает данные.

name True

string

Имя индексатора.

targetIndexName True

string

Имя индекса, в который индексатор записывает данные.

@odata.etag

string

ETag индексатора.

description

string

Описание индексатора.

disabled

boolean

Значение, указывающее, отключен ли индексатор. По умолчанию — false.

encryptionKey

SearchResourceEncryptionKey

Описание ключа шифрования, созданного в Azure Key Vault. Этот ключ используется для обеспечения дополнительного уровня шифрования неактивных данных для определения индексатора (а также состояния выполнения индексатора), когда требуется полная уверенность в том, что никто, даже корпорация Майкрософт, не сможет их расшифровать. После шифрования определения индексатора он всегда будет оставаться зашифрованным. Служба поиска будет игнорировать попытки установить для этого свойства значение null. Это свойство можно изменить по мере необходимости, если вы хотите повернуть ключ шифрования; Определение индексатора (и состояние выполнения индексатора) не будет затронуты. Шифрование с помощью ключей, управляемых клиентом, недоступно для бесплатных служб поиска и доступно только для платных служб, созданных 1 января 2019 г.

fieldMappings

FieldMapping[]

Определяет сопоставления между полями в источнике данных и соответствующими целевыми полями в индексе.

outputFieldMappings

FieldMapping[]

Сопоставления полей вывода применяются после обогащения и непосредственно перед индексированием.

parameters

IndexingParameters

Параметры для выполнения индексатора.

schedule

IndexingSchedule

Расписание для этого индексатора.

skillsetName

string

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

Ответы

Имя Тип Описание
201 Created

SearchIndexer

Запрос успешно выполнен, и в результате был создан новый ресурс.

Other Status Codes

ErrorResponse

Непредвиденное сообщение об ошибке.

Безопасность

api-key

Тип: apiKey
В: header

OAuth2Auth

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Области

Имя Описание
https://search.azure.com/.default

Примеры

SearchServiceCreateIndexer

Образец запроса

POST https://exampleservice.search.windows.net/indexers?api-version=2026-04-01


{
  "name": "myindexer",
  "description": "Description of the indexer",
  "dataSourceName": "indexertestdatasource",
  "skillsetName": "myskillset",
  "targetIndexName": "example-index",
  "schedule": {
    "interval": "P1D",
    "startTime": "2025-01-07T19:30:00Z"
  },
  "parameters": {
    "batchSize": 10,
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5,
    "configuration": {
      "parsingMode": "markdown",
      "excludedFileNameExtensions": ".png,.mp4",
      "indexedFileNameExtensions": ".docx,.pptx",
      "failOnUnsupportedContentType": true,
      "failOnUnprocessableDocument": false,
      "indexStorageMetadataOnlyForOversizedDocuments": true,
      "delimitedTextHeaders": "Header1,Header2",
      "delimitedTextDelimiter": "|",
      "firstLineContainsHeaders": true,
      "markdownParsingSubmode": "oneToMany",
      "markdownHeaderDepth": "h6",
      "documentRoot": "/root",
      "dataToExtract": "storageMetadata",
      "imageAction": "none",
      "allowSkillsetToReadFileData": false,
      "pdfTextRotationAlgorithm": "none",
      "executionEnvironment": "standard"
    }
  },
  "fieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ],
  "outputFieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ],
  "disabled": false,
  "@odata.etag": "0x1234568AE7E58A1"
}

Пример ответа

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "myindexer",
  "description": "Description of the indexer",
  "dataSourceName": "indexertestdatasource",
  "skillsetName": "myskillset",
  "targetIndexName": "example-index",
  "disabled": false,
  "schedule": {
    "interval": "P1D",
    "startTime": "2024-06-06T00:01:50.265Z"
  },
  "parameters": {
    "batchSize": 10,
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5,
    "configuration": {
      "parsingMode": "markdown",
      "excludedFileNameExtensions": ".png,.mp4",
      "indexedFileNameExtensions": ".docx,.pptx",
      "failOnUnsupportedContentType": true,
      "failOnUnprocessableDocument": false,
      "indexStorageMetadataOnlyForOversizedDocuments": true,
      "delimitedTextHeaders": "Header1,Header2",
      "delimitedTextDelimiter": "|",
      "firstLineContainsHeaders": true,
      "markdownParsingSubmode": "oneToMany",
      "markdownHeaderDepth": "h6",
      "documentRoot": "/root",
      "dataToExtract": "storageMetadata",
      "imageAction": "none",
      "allowSkillsetToReadFileData": false,
      "pdfTextRotationAlgorithm": "none",
      "executionEnvironment": "standard"
    }
  },
  "fieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ],
  "outputFieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ]
}

Определения

Имя Описание
Accept

Заголовок Accept.

BlobIndexerDataToExtract

Указывает данные для извлечения из хранилища BLOB-объектов Azure и сообщает индексатору, какие данные следует извлечь из содержимого изображения, если для параметра imageAction задано значение, отличное от none. Это относится к содержимому внедренного изображения в .PDF или другом приложении, а также к файлам изображений, таким как .jpg и .png, в больших двоичных объектах Azure.

BlobIndexerImageAction

Определяет способ обработки внедренных образов и файлов изображений в хранилище BLOB-объектов Azure. Чтобы задать для конфигурации "imageAction" любое значение, отличное от "none", требуется, чтобы к этому индексатору также был прикреплен набор навыков.

BlobIndexerParsingMode

Представляет режим синтаксического анализа для индексирования из источника данных BLOB-объектов Azure.

BlobIndexerPDFTextRotationAlgorithm

Определяет алгоритм извлечения текста из PDF-файлов в хранилище BLOB-объектов Azure.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

ErrorDetail

Сведения об ошибке.

ErrorResponse

Распространенный ответ об ошибке для всех API Azure Resource Manager для возврата сведений об ошибке для неудачных операций. (Это также следует формату ответа об ошибках OData.).

FieldMapping

Определяет сопоставление между полем в источнике данных и целевым полем в индексе.

FieldMappingFunction

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

IndexerExecutionEnvironment

Указывает среду, в которой должен выполняться индексатор.

IndexingParameters

Представляет параметры для выполнения индексатора.

IndexingParametersConfiguration

Словарь свойств конфигурации для индексатора. Каждое имя — это имя определенного свойства. Каждое значение должно быть примитивным типом.

IndexingSchedule

Представляет расписание выполнения индексатора.

SearchIndexer

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

SearchIndexerDataNoneIdentity

Очищает свойство удостоверения источника данных.

SearchIndexerDataUserAssignedIdentity

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

SearchResourceEncryptionKey

Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые вы создаете и которыми управляете, можно использовать для шифрования или расшифровки хранимых данных, таких как индексы и сопоставления синонимов.

Accept

Заголовок Accept.

Значение Описание
application/json;odata.metadata=minimal

BlobIndexerDataToExtract

Указывает данные для извлечения из хранилища BLOB-объектов Azure и сообщает индексатору, какие данные следует извлечь из содержимого изображения, если для параметра imageAction задано значение, отличное от none. Это относится к содержимому внедренного изображения в .PDF или другом приложении, а также к файлам изображений, таким как .jpg и .png, в больших двоичных объектах Azure.

Значение Описание
storageMetadata

Индексирует только стандартные свойства BLOB-объектов и пользовательские метаданные.

allMetadata

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

contentAndMetadata

Извлекает все метаданные и текстовое содержимое из каждого большого двоичного объекта.

BlobIndexerImageAction

Определяет способ обработки внедренных образов и файлов изображений в хранилище BLOB-объектов Azure. Чтобы задать для конфигурации "imageAction" любое значение, отличное от "none", требуется, чтобы к этому индексатору также был прикреплен набор навыков.

Значение Описание
none

Игнорирует внедренные изображения или файлы изображений в наборе данных. Это значение по умолчанию.

generateNormalizedImages

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

generateNormalizedImagePerPage

Извлекает текст из изображений (например, слово STOP из знака остановки трафика) и внедряет его в поле содержимого, но обрабатывает PDF-файлы по-разному, что каждая страница будет отображаться как изображение и нормализуется соответствующим образом, а не извлекает внедренные изображения. Типы файлов, отличные от PDF, будут обрабатываться так же, как если бы был задан параметр GenerateNormalizedImages.

BlobIndexerParsingMode

Представляет режим синтаксического анализа для индексирования из источника данных BLOB-объектов Azure.

Значение Описание
default

Установите значение по умолчанию для обычной обработки файлов.

text

Задайте значение text, чтобы повысить производительность индексирования в файлах обычного текста в хранилище BLOB-объектов.

delimitedText

Задайте для разделителя текста, если большие двоичные объекты являются обычными CSV-файлами.

json

Установите значение json, чтобы извлечь структурированное содержимое из JSON-файлов.

jsonArray

Установите значение jsonArray для извлечения отдельных элементов массива JSON в виде отдельных документов.

jsonLines

Установите значение jsonLines для извлечения отдельных сущностей JSON, разделенных новой строкой в виде отдельных документов.

markdown

Установите значение Markdown, чтобы извлечь содержимое из файлов Markdown.

BlobIndexerPDFTextRotationAlgorithm

Определяет алгоритм извлечения текста из PDF-файлов в хранилище BLOB-объектов Azure.

Значение Описание
none

Использует обычное извлечение текста. Это значение по умолчанию.

detectAngles

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

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

Имя Тип Описание
info

Дополнительные сведения.

type

string

Дополнительный тип сведений.

ErrorDetail

Сведения об ошибке.

Имя Тип Описание
additionalInfo

ErrorAdditionalInfo[]

Дополнительные сведения об ошибке.

code

string

Код ошибки.

details

ErrorDetail[]

Сведения об ошибке.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

ErrorResponse

Распространенный ответ об ошибке для всех API Azure Resource Manager для возврата сведений об ошибке для неудачных операций. (Это также следует формату ответа об ошибках OData.).

Имя Тип Описание
error

ErrorDetail

Объект ошибки.

FieldMapping

Определяет сопоставление между полем в источнике данных и целевым полем в индексе.

Имя Тип Описание
mappingFunction

FieldMappingFunction

Функция, применяемая к каждому значению исходного поля перед индексацией.

sourceFieldName

string

Имя поля в источнике данных.

targetFieldName

string

Имя целевого поля в индексе. То же, что и имя исходного поля по умолчанию.

FieldMappingFunction

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

Имя Тип Описание
name

string

Имя функции сопоставления полей.

parameters

Словарь пар имя/значение параметра для передачи в функцию. Каждое значение должно быть примитивным типом.

IndexerExecutionEnvironment

Указывает среду, в которой должен выполняться индексатор.

Значение Описание
standard

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

private

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

IndexingParameters

Представляет параметры для выполнения индексатора.

Имя Тип Default value Описание
batchSize

integer (int32)

Количество элементов, которые считываются из источника данных и индексируются как один пакет для повышения производительности. Значение по умолчанию зависит от типа источника данных.

configuration

IndexingParametersConfiguration

Словарь свойств конфигурации для индексатора. Каждое имя — это имя определенного свойства. Каждое значение должно быть примитивным типом.

maxFailedItems

integer (int32)

0

Максимальное количество элементов, которые могут не пройти индексирование, чтобы выполнение индексатора по-прежнему считалось успешным. -1 означает отсутствие ограничений. Значение по умолчанию — 0.

maxFailedItemsPerBatch

integer (int32)

0

Максимальное количество элементов в одном пакете, которое может не пройти индексирование, чтобы пакет по-прежнему считался успешным. -1 означает отсутствие ограничений. Значение по умолчанию — 0.

IndexingParametersConfiguration

Словарь свойств конфигурации для индексатора. Каждое имя — это имя определенного свойства. Каждое значение должно быть примитивным типом.

Имя Тип Default value Описание
allowSkillsetToReadFileData

boolean

False

Если значение true, создадит путь //document//file_data, представляющий исходные данные файла, скачанные из источника данных BLOB-объекта. Это позволяет передавать исходные данные файла в пользовательский навык обработки в конвейере обогащения или навык извлечения документов.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Указывает данные для извлечения из хранилища BLOB-объектов Azure и сообщает индексатору, какие данные следует извлечь из содержимого изображения, если для параметра imageAction задано значение, отличное от none. Это относится к содержимому внедренного изображения в .PDF или другом приложении, а также к файлам изображений, таким как .jpg и .png, в больших двоичных объектах Azure.

delimitedTextDelimiter

string

Для BLOB-объектов CSV задает разделитель однозначных символов для CSV-файлов, где каждая строка запускает новый документ (например, "|").

delimitedTextHeaders

string

Для BLOB-объектов CSV указывается список заголовков столбцов с разделителями-запятыми, полезный для сопоставления исходных полей с полями назначения в индексе.

documentRoot

string

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

excludedFileNameExtensions

string

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

executionEnvironment

IndexerExecutionEnvironment

standard

Указывает среду, в которой должен выполняться индексатор.

failOnUnprocessableDocument

boolean

False

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

failOnUnsupportedContentType

boolean

False

Для больших двоичных объектов Azure задайте значение false, если вы хотите продолжить индексирование при обнаружении неподдерживаемого типа контента, и вы не знаете все типы контента (расширения файлов) заранее.

firstLineContainsHeaders

boolean

True

Для BLOB-объектов CSV указывает, что первая (непустая) строка каждого большого двоичного объекта содержит заголовки.

imageAction

BlobIndexerImageAction

none

Определяет способ обработки внедренных образов и файлов изображений в хранилище BLOB-объектов Azure. Чтобы задать для конфигурации "imageAction" любое значение, отличное от "none", требуется, чтобы к этому индексатору также был прикреплен набор навыков.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Для больших двоичных объектов Azure задайте для этого свойства значение true, чтобы индексировать метаданные хранилища для содержимого BLOB-объектов, слишком большого размера для обработки. Слишком большие блобы по умолчанию считаются ошибками. Ограничения размера большого двоичного объекта см. в https://learn.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

Список расширений имен файлов с разделителями-запятыми для выбора при обработке из хранилища BLOB-объектов Azure. Например, можно сосредоточить индексирование на определенных файлах приложений ".docx, .pptx, .msg", чтобы в частности включить эти типы файлов.

markdownHeaderDepth enum:
  • h1
  • h2
  • h3
  • h4
  • h5
  • h6
h6

Указывает максимальную глубину заголовка, которая будет учитываться при группировке содержимого Markdown. По умолчанию — h6.

markdownParsingSubmode enum:
  • oneToMany
  • oneToOne
oneToMany

Указывает подрежим, который будет определять, будет ли файл Markdown разбираться ровно на один документ поиска или на несколько документов поиска. По умолчанию — oneToMany.

parsingMode

BlobIndexerParsingMode

default

Представляет режим синтаксического анализа для индексирования из источника данных BLOB-объектов Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Определяет алгоритм извлечения текста из PDF-файлов в хранилище BLOB-объектов Azure.

queryTimeout

string

00:05:00

Увеличивает время ожидания за пределами 5-минутного значения по умолчанию для источников данных базы данных SQL Azure, указанного в формате hh:mm:ss.

IndexingSchedule

Представляет расписание выполнения индексатора.

Имя Тип Описание
interval

string (duration)

Интервал времени между выполнениями индексатора.

startTime

string (date-time)

Время, когда индексатор должен начать работу.

SearchIndexer

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

Имя Тип Default value Описание
@odata.etag

string

ETag индексатора.

dataSourceName

string

Имя источника данных, из которого индексатор считывает данные.

description

string

Описание индексатора.

disabled

boolean

False

Значение, указывающее, отключен ли индексатор. По умолчанию — false.

encryptionKey

SearchResourceEncryptionKey

Описание ключа шифрования, созданного в Azure Key Vault. Этот ключ используется для обеспечения дополнительного уровня шифрования неактивных данных для определения индексатора (а также состояния выполнения индексатора), когда требуется полная уверенность в том, что никто, даже корпорация Майкрософт, не сможет их расшифровать. После шифрования определения индексатора он всегда будет оставаться зашифрованным. Служба поиска будет игнорировать попытки установить для этого свойства значение null. Это свойство можно изменить по мере необходимости, если вы хотите повернуть ключ шифрования; Определение индексатора (и состояние выполнения индексатора) не будет затронуты. Шифрование с помощью ключей, управляемых клиентом, недоступно для бесплатных служб поиска и доступно только для платных служб, созданных 1 января 2019 г.

fieldMappings

FieldMapping[]

Определяет сопоставления между полями в источнике данных и соответствующими целевыми полями в индексе.

name

string

Имя индексатора.

outputFieldMappings

FieldMapping[]

Сопоставления полей вывода применяются после обогащения и непосредственно перед индексированием.

parameters

IndexingParameters

Параметры для выполнения индексатора.

schedule

IndexingSchedule

Расписание для этого индексатора.

skillsetName

string

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

targetIndexName

string

Имя индекса, в который индексатор записывает данные.

SearchIndexerDataNoneIdentity

Очищает свойство удостоверения источника данных.

Имя Тип Описание
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Фрагмент URI, указывающий тип удостоверения.

SearchIndexerDataUserAssignedIdentity

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

Имя Тип Описание
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Фрагмент URI, указывающий тип удостоверения.

userAssignedIdentity

string

Полный идентификатор ресурса Azure назначаемого пользователем управляемого удостоверения обычно в форме "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId", который должен быть назначен службе поиска.

SearchResourceEncryptionKey

Ключ шифрования, управляемый клиентом, в Azure Key Vault. Ключи, которые вы создаете и которыми управляете, можно использовать для шифрования или расшифровки хранимых данных, таких как индексы и сопоставления синонимов.

Имя Тип Описание
accessCredentials.applicationId

string

Идентификатор приложения AAD, которому было предоставлено необходимые разрешения на доступ к Azure Key Vault, который будет использоваться при шифровании неактивных данных. Идентификатор приложения не следует путать с идентификатором объекта для приложения AAD.

accessCredentials.applicationSecret

string

Ключ проверки подлинности указанного приложения AAD.

identity SearchIndexerDataIdentity:

Явное управляемое удостоверение, используемое для этого ключа шифрования. Если не указано, а свойство учетных данных доступа равно NULL, используется управляемое удостоверение, назначаемое системой. При обновлении ресурса, если явное удостоверение не указано, оно остается неизменным. Если задано значение none, то значение этого свойства очищается.

keyVaultKeyName

string

Имя ключа Azure Key Vault, используемого для шифрования неактивных данных.

keyVaultKeyVersion

string

Версия ключа Azure Key Vault, используемая для шифрования неактивных данных.

keyVaultUri

string

Универсальный код ресурса (URI) Хранилища ключей Azure, который также называется DNS-именем, который содержит ключ, используемый для шифрования неактивных данных. Пример URI может быть https://my-keyvault-name.vault.azure.net.