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-07-01

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.

Cabeçalho da solicitação

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

string

uuid

A ID de acompanhamento 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 com êxito.

Corpo da solicitação

Nome Obrigatório Tipo Description
dataSourceName True

string

O nome da fonte de dados da qual esse indexador lê os 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.

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 o status de execução do indexador) quando você quiser ter a garantia 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 o 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 em 1º de janeiro de 2019 ou depois 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

A agenda deste 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-07-01


{
  "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 "nenhum". Isso se aplica ao conteúdo da imagem inserida em um .PDF ou em 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 "nenhum" 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 parâmetros para a 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 um agendamento para a execução do indexador.

SearchIndexer

Representa um indexador.

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 em repouso, 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 Azure Key Vault 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 "nenhum". Isso se aplica ao conteúdo da imagem inserida em um .PDF ou em 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 conteúdo (por exemplo, metadados exclusivos para 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 "nenhum" 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 insere-o 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. Tipos de arquivo não PDF serão tratados da mesma forma que se "generateNormalizedImages" foi definido.

generateNormalizedImages

string

Extrai texto de imagens (por exemplo, a palavra "PARAR" de um sinal de parada de tráfego) e insere-o no campo de conteúdo. Essa ação requer que "dataToExtract" seja 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

Definido como padrão para o processamento de arquivo normal.

delimitedText

string

Defina como delimititedText quando os blobs forem arquivos CSV sem formatação.

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 de 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 têm texto girado 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 dentro de uma imagem inserida no PDF, esse parâmetro não se aplicará.

none

string

Aproveita a extração normal de texto. 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ó deve ser especificado como o ambiente de execução se o indexador precisar acessar recursos com segurança por meio de 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 parâmetros para a 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 que a execução do indexador ainda seja considerada bem-sucedida. -1 significa que não há 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 que não há 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 de 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 da imagem inserida em um .PDF ou em 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" requer 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 que é muito grande para ser processado. Blobs superdimensionados são tratados como erros por padrão. Para obter limites no tamanho do blob, consulte https://learn.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 focar 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 fontes de dados do Banco de Dados SQL do Azure, especificado no formato "hh:mm:ss".

IndexingSchedule

Representa um agendamento 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.

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 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 o status de execução do indexador) quando você quiser ter a garantia 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 o 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 em 1º de janeiro de 2019 ou depois de 1º de janeiro de 2019.

fieldMappings

FieldMapping[]

Define mapeamentos entre campos na fonte de dados e 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

A agenda deste 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.

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 em repouso, como índices e mapas de sinônimos.

Nome Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

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

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

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