Compartilhar via


Indexers - Create Or Update

Cria um novo indexador ou atualiza um indexador se ele já existir.

PUT {endpoint}/indexers('{indexerName}')?api-version=2024-05-01-preview
PUT {endpoint}/indexers('{indexerName}')?api-version=2024-05-01-preview&ignoreResetRequirements={ignoreResetRequirements}&disableCacheReprocessingChangeDetection={disableCacheReprocessingChangeDetection}

Parâmetros de URI

Nome Em Obrigatório Tipo Description
endpoint
path True

string

A URL do ponto de extremidade do serviço de pesquisa.

indexerName
path True

string

O nome do indexador a ser criado ou atualizado.

api-version
query True

string

Versão da API do cliente.

disableCacheReprocessingChangeDetection
query

boolean

Desabilita a detecção de alterações de reprocessamento de cache.

ignoreResetRequirements
query

boolean

Ignora os requisitos de redefinição de cache.

Cabeçalho da solicitação

Nome Obrigatório Tipo Description
x-ms-client-request-id

string

uuid

A ID de rastreamento enviada com a solicitação para ajudar na depuração.

If-Match

string

Define a condição de If-Match. A operação será executada somente se a ETag no servidor corresponder a esse valor.

If-None-Match

string

Define a condição If-None-Match. A operação será executada somente se a ETag no servidor não corresponder a esse valor.

Prefer True

string

Para solicitações HTTP PUT, instrui o serviço a retornar o recurso criado/atualizado em caso de êxito.

Corpo da solicitação

Nome Obrigatório Tipo Description
dataSourceName True

string

O nome da fonte de dados da qual esse indexador lê dados.

name True

string

o nome do indexador.

targetIndexName True

string

O nome do índice no qual esse indexador grava dados.

@odata.etag

string

A ETag do indexador.

cache

SearchIndexerCache

Adiciona o cache a um pipeline de enriquecimento para permitir etapas de modificação incremental sem precisar recompilar o índice todas as vezes.

description

string

A descrição do indexador.

disabled

boolean

Um valor que indica se o indexador está desabilitado. O padrão é false.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de criptografia que você cria no Azure Key Vault. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para a definição do indexador (bem como a execução do indexador status) quando você deseja ter total garantia de que ninguém, nem mesmo a Microsoft, pode descriptografá-los. Depois de criptografar a definição do indexador, ela sempre permanecerá criptografada. O serviço de pesquisa ignorará as tentativas de definir essa propriedade como nula. Você pode alterar essa propriedade conforme necessário se quiser girar sua chave de criptografia; A definição do indexador (e a status de execução do indexador) não serão afetadas. A criptografia com chaves gerenciadas pelo cliente não está disponível para serviços de pesquisa gratuitos e só está disponível para serviços pagos criados a partir de 1º de janeiro de 2019.

fieldMappings

FieldMapping[]

Define mapeamentos entre campos na fonte de dados e campos de destino correspondentes no índice.

outputFieldMappings

FieldMapping[]

Os mapeamentos de campo de saída são aplicados após o enriquecimento e imediatamente antes da indexação.

parameters

IndexingParameters

Parâmetros para execução do indexador.

schedule

IndexingSchedule

O agendamento para esse indexador.

skillsetName

string

O nome do conjunto de habilidades em execução com esse indexador.

Respostas

Nome Tipo Description
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

ErrorResponse

Resposta de erro.

Exemplos

SearchServiceCreateOrUpdateIndexer

Solicitação de exemplo

PUT https://myservice.search.windows.net/indexers('myindexer')?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": null
  }
}

Resposta de exemplo

{
  "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": null
  }
}
{
  "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": null
  }
}

Definições

Nome Description
AzureActiveDirectoryApplicationCredentials

Credenciais de um aplicativo registrado criado para seu serviço de pesquisa, usado para acesso autenticado às chaves de criptografia armazenadas no Azure Key Vault.

BlobIndexerDataToExtract

Especifica os dados a serem extraídos do armazenamento de blobs do Azure e informa ao indexador quais dados extrair do conteúdo da imagem quando "imageAction" é definido como um valor diferente de "none". Isso se aplica ao conteúdo da imagem inserida em um .PDF ou outro aplicativo, ou arquivos de imagem, como .jpg e .png, em blobs do Azure.

BlobIndexerImageAction

Determina como processar imagens inseridas e arquivos de imagem no Armazenamento de Blobs do Azure. Definir a configuração "imageAction" como qualquer valor diferente de "none" requer que um conjunto de habilidades também seja anexado a esse indexador.

BlobIndexerParsingMode

Representa o modo de análise para indexação de uma fonte de dados de blob do Azure.

BlobIndexerPDFTextRotationAlgorithm

Determina o algoritmo para extração de texto de arquivos PDF no Armazenamento de Blobs do Azure.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

FieldMapping

Define um mapeamento entre um campo em uma fonte de dados e um campo de destino em um índice.

FieldMappingFunction

Representa uma função que transforma um valor de uma fonte de dados antes da indexação.

IndexerExecutionEnvironment

Especifica o ambiente no qual o indexador deve ser executado.

IndexingParameters

Representa os parâmetros de execução do indexador.

IndexingParametersConfiguration

Um dicionário de propriedades de configuração específicas do indexador. Cada nome é o nome de uma propriedade específica. Cada valor deve ser de um tipo primitivo.

IndexingSchedule

Representa uma agenda para a execução do indexador.

SearchIndexer

Representa um indexador.

SearchIndexerCache
SearchIndexerDataNoneIdentity

Limpa a propriedade de identidade de uma fonte de dados.

SearchIndexerDataUserAssignedIdentity

Especifica a identidade de uma fonte de dados a ser usada.

SearchResourceEncryptionKey

Uma chave de criptografia gerenciada pelo cliente no Azure Key Vault. As chaves que você cria e gerencia podem ser usadas para criptografar ou descriptografar dados inativos, como índices e mapas de sinônimos.

AzureActiveDirectoryApplicationCredentials

Credenciais de um aplicativo registrado criado para seu serviço de pesquisa, usado para acesso autenticado às chaves de criptografia armazenadas no Azure Key Vault.

Nome Tipo Description
applicationId

string

Uma ID de Aplicativo do AAD que recebeu as permissões de acesso necessárias para o Key Vault do Azure que deve ser usada ao criptografar seus dados em repouso. A ID do aplicativo não deve ser confundida com a ID do objeto para seu aplicativo do AAD.

applicationSecret

string

A chave de autenticação do aplicativo AAD especificado.

BlobIndexerDataToExtract

Especifica os dados a serem extraídos do armazenamento de blobs do Azure e informa ao indexador quais dados extrair do conteúdo da imagem quando "imageAction" é definido como um valor diferente de "none". Isso se aplica ao conteúdo da imagem inserida em um .PDF ou outro aplicativo, ou arquivos de imagem, como .jpg e .png, em blobs do Azure.

Nome Tipo Description
allMetadata

string

Extrai metadados fornecidos pelo subsistema de armazenamento de blobs do Azure e os metadados específicos do tipo de conteúdo (por exemplo, metadados exclusivos apenas .png arquivos são indexados).

contentAndMetadata

string

Extrai todos os metadados e conteúdo textual de cada blob.

storageMetadata

string

Indexa apenas as propriedades de blob padrão e os metadados especificados pelo usuário.

BlobIndexerImageAction

Determina como processar imagens inseridas e arquivos de imagem no Armazenamento de Blobs do Azure. Definir a configuração "imageAction" como qualquer valor diferente de "none" requer que um conjunto de habilidades também seja anexado a esse indexador.

Nome Tipo Description
generateNormalizedImagePerPage

string

Extrai texto de imagens (por exemplo, a palavra "PARAR" de um sinal de parada de tráfego) e o insere no campo de conteúdo, mas trata arquivos PDF de forma diferente, pois cada página será renderizada como uma imagem e normalizada de acordo, em vez de extrair imagens inseridas. Os tipos de arquivo não PDF serão tratados da mesma forma que se "generateNormalizedImages" tiver sido definido.

generateNormalizedImages

string

Extrai texto de imagens (por exemplo, a palavra "PARAR" de um sinal de parada de tráfego) e o insere no campo de conteúdo. Essa ação requer que "dataToExtract" esteja definido como "contentAndMetadata". Uma imagem normalizada refere-se ao processamento adicional que resulta em saída de imagem uniforme, dimensionada e girada para promover a renderização consistente quando você inclui imagens nos resultados da pesquisa visual. Essas informações são geradas para cada imagem quando você usa essa opção.

none

string

Ignora imagens inseridas ou arquivos de imagem no conjunto de dados. Esse é o padrão.

BlobIndexerParsingMode

Representa o modo de análise para indexação de uma fonte de dados de blob do Azure.

Nome Tipo Description
default

string

Defina como padrão para o processamento normal de arquivos.

delimitedText

string

Defina como delimitedText quando os blobs forem arquivos CSV simples.

json

string

Defina como json para extrair conteúdo estruturado de arquivos JSON.

jsonArray

string

Defina como jsonArray para extrair elementos individuais de uma matriz JSON como documentos separados.

jsonLines

string

Defina como jsonLines para extrair entidades JSON individuais, separadas por uma nova linha, como documentos separados.

text

string

Defina como texto para melhorar o desempenho da indexação em arquivos de texto sem formatação no armazenamento de blobs.

BlobIndexerPDFTextRotationAlgorithm

Determina o algoritmo para extração de texto de arquivos PDF no Armazenamento de Blobs do Azure.

Nome Tipo Description
detectAngles

string

Pode produzir uma extração de texto melhor e mais legível de arquivos PDF que giraram o texto dentro deles. Observe que pode haver um pequeno impacto na velocidade de desempenho quando esse parâmetro é usado. Esse parâmetro só se aplica a arquivos PDF e somente a PDFs com texto inserido. Se o texto girado aparecer em uma imagem inserida no PDF, esse parâmetro não se aplicará.

none

string

Aproveita a extração de texto normal. Esse é o padrão.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorResponse

Resposta de erro

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

FieldMapping

Define um mapeamento entre um campo em uma fonte de dados e um campo de destino em um índice.

Nome Tipo Description
mappingFunction

FieldMappingFunction

Uma função a ser aplicada a cada valor de campo de origem antes da indexação.

sourceFieldName

string

O nome do campo na fonte de dados.

targetFieldName

string

O nome do campo de destino no índice. O mesmo que o nome do campo de origem por padrão.

FieldMappingFunction

Representa uma função que transforma um valor de uma fonte de dados antes da indexação.

Nome Tipo Description
name

string

O nome da função de mapeamento de campo.

parameters

object

Um dicionário de pares nome/valor de parâmetro para passar para a função. Cada valor deve ser de um tipo primitivo.

IndexerExecutionEnvironment

Especifica o ambiente no qual o indexador deve ser executado.

Nome Tipo Description
private

string

Indica que o indexador deve ser executado com o ambiente provisionado especificamente para o serviço de pesquisa. Isso só deverá ser especificado como o ambiente de execução se o indexador precisar acessar recursos com segurança em recursos de link privado compartilhados.

standard

string

Indica que o serviço de pesquisa pode determinar onde o indexador deve ser executado. Esse é o ambiente padrão quando nada é especificado e é o valor recomendado.

IndexingParameters

Representa os parâmetros de execução do indexador.

Nome Tipo Valor padrão Description
batchSize

integer

O número de itens lidos da fonte de dados e indexados como um único lote para melhorar o desempenho. O padrão depende do tipo de fonte de dados.

configuration

IndexingParametersConfiguration

Um dicionário de propriedades de configuração específicas do indexador. Cada nome é o nome de uma propriedade específica. Cada valor deve ser de um tipo primitivo.

maxFailedItems

integer

0

O número máximo de itens que podem falhar na indexação para a execução do indexador ainda será considerado bem-sucedido. -1 significa sem limite. O padrão é 0.

maxFailedItemsPerBatch

integer

0

O número máximo de itens em um único lote que pode falhar na indexação para que o lote ainda seja considerado bem-sucedido. -1 significa sem limite. O padrão é 0.

IndexingParametersConfiguration

Um dicionário de propriedades de configuração específicas do indexador. Cada nome é o nome de uma propriedade específica. Cada valor deve ser de um tipo primitivo.

Nome Tipo Valor padrão Description
allowSkillsetToReadFileData

boolean

False

Se for true, criará um caminho //document//file_data que é um objeto que representa os dados de arquivo originais baixados da fonte de dados do blob. Isso permite que você passe os dados de arquivo originais para uma habilidade personalizada para processamento dentro do pipeline de enriquecimento ou para a habilidade extração de documentos.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Especifica os dados a serem extraídos do armazenamento de blobs do Azure e informa ao indexador quais dados extrair do conteúdo da imagem quando "imageAction" é definido como um valor diferente de "nenhum". Isso se aplica ao conteúdo de imagem inserida em um .PDF ou outro aplicativo ou arquivos de imagem, como .jpg e .png, em blobs do Azure.

delimitedTextDelimiter

string

Para blobs CSV, especifica o delimitador de caractere único de fim de linha para arquivos CSV em que cada linha inicia um novo documento (por exemplo, "|").

delimitedTextHeaders

string

Para blobs CSV, especifica uma lista delimitada por vírgulas de cabeçalhos de coluna, útil para mapear campos de origem para campos de destino em um índice.

documentRoot

string

Para matrizes JSON, considerando um documento estruturado ou semiestruturado, você pode especificar um caminho para a matriz usando essa propriedade.

excludedFileNameExtensions

string

Lista delimitada por vírgulas de extensões de nome de arquivo a serem ignoradas ao processar do armazenamento de blobs do Azure. Por exemplo, você pode excluir ".png, .mp4" para ignorar esses arquivos durante a indexação.

executionEnvironment

IndexerExecutionEnvironment

standard

Especifica o ambiente no qual o indexador deve ser executado.

failOnUnprocessableDocument

boolean

False

Para blobs do Azure, defina como false se você quiser continuar indexando se um documento falhar na indexação.

failOnUnsupportedContentType

boolean

False

Para blobs do Azure, defina como false se você quiser continuar indexando quando um tipo de conteúdo sem suporte for encontrado e você não souber todos os tipos de conteúdo (extensões de arquivo) com antecedência.

firstLineContainsHeaders

boolean

True

Para blobs CSV, indica que a primeira linha (não em branco) de cada blob contém cabeçalhos.

imageAction

BlobIndexerImageAction

none

Determina como processar imagens inseridas e arquivos de imagem no armazenamento de blobs do Azure. Definir a configuração "imageAction" como qualquer valor diferente de "nenhum" exige que um conjunto de habilidades também seja anexado a esse indexador.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Para blobs do Azure, defina essa propriedade como true para ainda indexar metadados de armazenamento para conteúdo de blob muito grande para processar. Por padrão, os blobs superdimensionados são tratados como erros. Para obter limites no tamanho do blob, consulte https://docs.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

Lista delimitada por vírgulas de extensões de nome de arquivo para selecionar ao processar no armazenamento de blobs do Azure. Por exemplo, você pode enfocar a indexação em arquivos de aplicativo específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de arquivo.

parsingMode

BlobIndexerParsingMode

default

Representa o modo de análise para indexação de uma fonte de dados de blob do Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Determina o algoritmo para extração de texto de arquivos PDF no armazenamento de blobs do Azure.

queryTimeout

string

00:05:00

Aumenta o tempo limite além do padrão de 5 minutos para SQL do Azure fontes de dados de banco de dados, especificadas no formato "hh:mm:ss".

IndexingSchedule

Representa uma agenda para a execução do indexador.

Nome Tipo Description
interval

string

O intervalo de tempo entre as execuções do indexador.

startTime

string

A hora em que um indexador deve começar a ser executado.

SearchIndexer

Representa um indexador.

Nome Tipo Valor padrão Description
@odata.etag

string

A ETag do indexador.

cache

SearchIndexerCache

Adiciona cache a um pipeline de enriquecimento para permitir etapas de modificação incremental sem precisar recriar o índice todas as vezes.

dataSourceName

string

O nome da fonte de dados da qual esse indexador lê os dados.

description

string

A descrição do indexador.

disabled

boolean

False

Um valor que indica se o indexador está desabilitado. O padrão é false.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de criptografia criada no Azure Key Vault. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para a definição do indexador (bem como a execução do indexador status) quando você deseja ter certeza total de que ninguém, nem mesmo a Microsoft, pode descriptografá-los. Depois de criptografar a definição do indexador, ela sempre permanecerá criptografada. O serviço de pesquisa ignorará as tentativas de definir essa propriedade como nula. Você pode alterar essa propriedade conforme necessário se quiser girar sua chave de criptografia; A definição do indexador (e a execução do indexador status) não serão afetadas. A criptografia com chaves gerenciadas pelo cliente não está disponível para serviços de pesquisa gratuitos e só está disponível para serviços pagos criados em ou após 1º de janeiro de 2019.

fieldMappings

FieldMapping[]

Define mapeamentos entre campos na fonte de dados e os campos de destino correspondentes no índice.

name

string

o nome do indexador.

outputFieldMappings

FieldMapping[]

Os mapeamentos de campo de saída são aplicados após o enriquecimento e imediatamente antes da indexação.

parameters

IndexingParameters

Parâmetros para execução do indexador.

schedule

IndexingSchedule

O agendamento para esse indexador.

skillsetName

string

O nome do conjunto de habilidades em execução com esse indexador.

targetIndexName

string

O nome do índice no qual esse indexador grava dados.

SearchIndexerCache

Nome Tipo Description
enableReprocessing

boolean

Especifica se o reprocessamento incremental está habilitado.

identity SearchIndexerDataIdentity:

A identidade gerenciada atribuída pelo usuário usada para conexões com o cache de enriquecimento. Se o cadeia de conexão indicar uma identidade (ResourceId) e não for especificada, a identidade gerenciada atribuída pelo sistema será usada. Em atualizações para o indexador, se a identidade não for especificada, o valor permanecerá inalterado. Se definido como "nenhum", o valor dessa propriedade será limpo.

storageConnectionString

string

O cadeia de conexão à conta de armazenamento em que os dados de cache serão persistidos.

SearchIndexerDataNoneIdentity

Limpa a propriedade de identidade de uma fonte de dados.

Nome Tipo Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Um fragmento de URI que especifica o tipo de identidade.

SearchIndexerDataUserAssignedIdentity

Especifica a identidade de uma fonte de dados a ser usada.

Nome Tipo Description
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Um fragmento de URI que especifica o tipo de identidade.

userAssignedIdentity

string

A ID de recurso do Azure totalmente qualificada de uma identidade gerenciada atribuída pelo usuário normalmente no formato "/subscriptions/12345678-1234-1234-12334-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" que deveria ter sido atribuída ao serviço de pesquisa.

SearchResourceEncryptionKey

Uma chave de criptografia gerenciada pelo cliente no Azure Key Vault. As chaves que você cria e gerencia podem ser usadas para criptografar ou descriptografar dados inativos, como índices e mapas de sinônimos.

Nome Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciais opcionais do Azure Active Directory usadas para acessar o Key Vault do Azure. Não é necessário se estiver usando a identidade gerenciada.

identity SearchIndexerDataIdentity:

Uma identidade gerenciada explícita a ser usada para essa chave de criptografia. Se não for especificado e a propriedade de credenciais de acesso for nula, a identidade gerenciada atribuída pelo sistema será usada. Ao atualizar para o recurso, se a identidade explícita não for especificada, ela permanecerá inalterada. Se "none" for especificado, o valor dessa propriedade será limpo.

keyVaultKeyName

string

O nome da chave de Key Vault do Azure a ser usada para criptografar seus dados em repouso.

keyVaultKeyVersion

string

A versão do Azure Key Vault chave a ser usada para criptografar seus dados em repouso.

keyVaultUri

string

O URI do Key Vault do Azure, também conhecido como nome DNS, que contém a chave a ser usada para criptografar seus dados inativos. Um URI de exemplo pode ser https://my-keyvault-name.vault.azure.net.