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


Indexers - Create

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

POST {endpoint}/indexers?api-version=2024-05-01-preview

Параметры URI

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

string

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

api-version
query True

string

Версия API клиента.

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

Имя Обязательно Тип Описание
x-ms-client-request-id

string

uuid

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

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

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

string

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

name True

string

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

targetIndexName True

string

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

@odata.etag

string

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

cache

SearchIndexerCache

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

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

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

Примеры

SearchServiceCreateIndexer

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

POST https://myservice.search.windows.net/indexers?api-version=2024-05-01-preview

{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

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

{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": null
    }
  }
}

Определения

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

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

BlobIndexerDataToExtract

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

BlobIndexerImageAction

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

BlobIndexerParsingMode

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

BlobIndexerPDFTextRotationAlgorithm

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

ErrorAdditionalInfo

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

ErrorDetail

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

ErrorResponse

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

FieldMapping

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

FieldMappingFunction

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

IndexerExecutionEnvironment

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

IndexingParameters

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

IndexingParametersConfiguration

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

IndexingSchedule

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

SearchIndexer

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

SearchIndexerCache
SearchIndexerDataNoneIdentity

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

SearchIndexerDataUserAssignedIdentity

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

SearchResourceEncryptionKey

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

AzureActiveDirectoryApplicationCredentials

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

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

string

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

applicationSecret

string

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

BlobIndexerDataToExtract

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

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

string

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

contentAndMetadata

string

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

storageMetadata

string

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

BlobIndexerImageAction

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

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

string

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

generateNormalizedImages

string

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

none

string

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

BlobIndexerParsingMode

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

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

string

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

delimitedText

string

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

json

string

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

jsonArray

string

Задайте значение jsonArray, чтобы извлечь отдельные элементы массива JSON в виде отдельных документов.

jsonLines

string

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

text

string

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

BlobIndexerPDFTextRotationAlgorithm

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

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

string

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

none

string

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

ErrorAdditionalInfo

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

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

object

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

type

string

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

ErrorDetail

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

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

ErrorAdditionalInfo[]

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

code

string

Код ошибки.

details

ErrorDetail[]

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

message

string

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

target

string

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

ErrorResponse

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

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

ErrorDetail

Объект error.

FieldMapping

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

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

FieldMappingFunction

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

sourceFieldName

string

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

targetFieldName

string

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

FieldMappingFunction

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

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

string

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

parameters

object

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

IndexerExecutionEnvironment

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

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

string

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

standard

string

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

IndexingParameters

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

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

integer

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

configuration

IndexingParametersConfiguration

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

maxFailedItems

integer

0

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

maxFailedItemsPerBatch

integer

0

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

IndexingParametersConfiguration

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

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

boolean

False

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

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

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

delimitedTextDelimiter

string

Для больших двоичных объектов 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-объектов, которое слишком велико для обработки. Большие двоичные объекты слишком большого размера по умолчанию считаются ошибками. Ограничения на размер BLOB-объекта см. в разделе https://docs.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

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

parsingMode

BlobIndexerParsingMode

default

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

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

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

queryTimeout

string

00:05:00

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

IndexingSchedule

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

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

string

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

startTime

string

Время запуска индексатора.

SearchIndexer

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

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

string

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

cache

SearchIndexerCache

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

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

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

SearchIndexerCache

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

boolean

Указывает, включена ли добавочная повторная обработка.

identity SearchIndexerDataIdentity:

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

storageConnectionString

string

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

SearchIndexerDataNoneIdentity

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

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

#Microsoft.Azure.Search.DataNoneIdentity

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

SearchIndexerDataUserAssignedIdentity

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

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

#Microsoft.Azure.Search.DataUserAssignedIdentity

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

userAssignedIdentity

string

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

SearchResourceEncryptionKey

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

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

AzureActiveDirectoryApplicationCredentials

Необязательные учетные данные Azure Active Directory, используемые для доступа к Key Vault Azure. Не требуется, если вместо этого используется управляемое удостоверение.

identity SearchIndexerDataIdentity:

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

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

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