Partilhar 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 do URI

Name Em Necessá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 do Pedido

Name Necessário Tipo Description
x-ms-client-request-id

string

uuid

O ID de rastreamento enviado com a solicitação para ajudar com a depuração.

If-Match

string

Define a condição If-Match. A operação será executada somente se o 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 o 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 do Pedido

Name Necessário Tipo Description
dataSourceName True

string

O nome da fonte de dados a partir 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

O ETag do indexador.

description

string

A descrição do indexador.

disabled

boolean

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

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de criptografia que você cria no Cofre de Chaves do Azure. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para sua definição de indexador (bem como o status de execução do indexador) quando você deseja garantia total de que ninguém, nem mesmo a Microsoft, pode descriptografá-los. Depois de criptografar sua definição de indexador, ela sempre permanecerá criptografada. O serviço de pesquisa ignorará as tentativas de definir essa propriedade como null. Você pode alterar essa propriedade conforme necessário se quiser girar sua chave de criptografia; Sua definição de indexador (e status de execução do indexador) não será afetada. 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 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 cronograma para este indexador.

skillsetName

string

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

Respostas

Name Tipo Description
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

ErrorResponse

Resposta de erro.

Exemplos

SearchServiceCreateOrUpdateIndexer

Pedido de amostra

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 da amostra

{
  "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

Name Description
AzureActiveDirectoryApplicationCredentials

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

BlobIndexerDataToExtract

Especifica os dados a serem extraídos do armazenamento de blob 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 de imagem incorporado em um .PDF ou outro aplicativo, ou a arquivos de imagem, como .jpg e .png, em blobs do Azure.

BlobIndexerImageAction

Determina como processar imagens incorporadas e arquivos de imagem no armazenamento de blobs do Azure. Definir a configuração "imageAction" para 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

O erro de gerenciamento de recursos informações adicionais.

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 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.

SearchResourceEncryptionKey

Uma chave de criptografia gerenciada pelo cliente no Cofre de Chaves do Azure. 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 Cofre de Chaves do Azure.

Name Tipo Description
applicationId

string

Uma ID de Aplicativo AAD que recebeu as permissões de acesso necessárias ao Cofre da Chave 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 do seu aplicativo AAD.

applicationSecret

string

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

BlobIndexerDataToExtract

Especifica os dados a serem extraídos do armazenamento de blob 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 de imagem incorporado em um .PDF ou outro aplicativo, ou a arquivos de imagem, como .jpg e .png, em blobs do Azure.

Name Tipo Description
allMetadata

string

Extrai metadados fornecidos pelo subsistema de armazenamento de blob do Azure e os metadados específicos do tipo de 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 metadados especificados pelo usuário.

BlobIndexerImageAction

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

Name Tipo Description
generateNormalizedImagePerPage

string

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

generateNormalizedImages

string

Extrai texto de imagens (por exemplo, a palavra "STOP" de um sinal de parada de trânsito) e o incorpora no campo de conteúdo. Esta 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 uma renderização consistente quando você inclui imagens nos resultados de pesquisa visual. Essas informações são geradas para cada imagem quando você usa essa opção.

none

string

Ignora imagens ou arquivos de imagem incorporados no conjunto de dados. Este é o padrão.

BlobIndexerParsingMode

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

Name Tipo Description
default

string

Definido como padrão para 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 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.

Name Tipo Description
detectAngles

string

Pode produzir uma extração de texto melhor e mais legível de arquivos PDF que tenham texto girado dentro deles. Observe que pode haver um pequeno impacto na velocidade de desempenho quando esse parâmetro é usado. Este parâmetro aplica-se apenas a ficheiros PDF e apenas a PDFs com texto incorporado. Se o texto girado aparecer dentro de uma imagem incorporada no PDF, esse parâmetro não se aplica.

none

string

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

ErrorAdditionalInfo

O erro de gerenciamento de recursos informações adicionais.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

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

Name 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.

Name 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.

Name 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.

Name 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. Este é o ambiente padrão quando nada é especificado e é o valor recomendado.

IndexingParameters

Representa parâmetros para execução do indexador.

Name Tipo Default value Description
batchSize

integer

O número de itens que são 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 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 podem 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.

Name Tipo Default value Description
allowSkillsetToReadFileData

boolean

False

Se verdadeiro, criará um caminho //document//file_data que é um objeto que representa os dados do arquivo original baixados da fonte de dados de blob. Isso permite que você passe os dados do arquivo original 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 blob 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 de imagem incorporado em um .PDF ou outro aplicativo, ou a arquivos de imagem, como .jpg e .png, em blobs do Azure.

delimitedTextDelimiter

string

Para blobs CSV, especifica o delimitador de caracteres únicos 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, dado 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 a partir 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 quiser continuar a indexação se um documento falhar na indexação.

failOnUnsupportedContentType

boolean

False

Para blobs do Azure, defina como false se quiser continuar a indexação quando um tipo de conteúdo sem suporte for encontrado e 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 incorporadas e arquivos de imagem no armazenamento de blobs do Azure. Definir a configuração "imageAction" para qualquer valor diferente de "none" 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 processar. 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 a serem selecionadas ao processar a partir do 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, especificadas no formato "hh:mm:ss".

IndexingSchedule

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

Name 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.

Name Tipo Default value Description
@odata.etag

string

O ETag do indexador.

dataSourceName

string

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

description

string

A descrição do indexador.

disabled

boolean

False

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

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de criptografia que você cria no Cofre de Chaves do Azure. Essa chave é usada para fornecer um nível adicional de criptografia em repouso para sua definição de indexador (bem como o status de execução do indexador) quando você deseja garantia total de que ninguém, nem mesmo a Microsoft, pode descriptografá-los. Depois de criptografar sua definição de indexador, ela sempre permanecerá criptografada. O serviço de pesquisa ignorará as tentativas de definir essa propriedade como null. Você pode alterar essa propriedade conforme necessário se quiser girar sua chave de criptografia; Sua definição de indexador (e status de execução do indexador) não será afetada. 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 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 cronograma para este indexador.

skillsetName

string

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

targetIndexName

string

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

SearchResourceEncryptionKey

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

Name Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciais opcionais do Azure Ative Directory usadas para acessar seu Cofre da Chave do Azure. Não é necessário se estiver usando a identidade gerenciada.

keyVaultKeyName

string

O nome da sua chave do Cofre da Chave do Azure a ser usada para criptografar seus dados em repouso.

keyVaultKeyVersion

string

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

keyVaultUri

string

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