Indexers - Create Or Update

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

PUT {endpoint}/indexers('{indexerName}')?api-version=2023-11-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 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.

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

SearchError

Resposta de erro.

Exemplos

SearchServiceCreateOrUpdateIndexer

Sample Request

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2023-11-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
  }
}

Sample Response

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

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.

SearchError

Descreve uma condição de erro para a API.

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 em seu serviço de pesquisa, 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 inativos. A ID do Aplicativo não deve ser confundida com a ID de Objeto do 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.

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 do parâmetro a ser passado 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 que a execução do indexador ainda seja considerada bem-sucedida. -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 de 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 "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.

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 durante o processamento 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 você quiser continuar a indexação 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 "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. Por padrão, os blobs superdimensionados são tratados como erros. Para obter limites de tamanho de 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 a serem selecionadas durante o processamento do 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.

SearchError

Descreve uma condição de erro para a API.

Nome Tipo Description
code

string

Um de um conjunto definido pelo servidor de códigos de erro.

details

SearchError[]

Uma matriz de detalhes sobre erros específicos que levaram a esse erro relatado.

message

string

Uma representação legível do erro.

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

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.

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 em seu serviço de pesquisa, 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.

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

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.