Indexers - Create Or Update

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

PUT {endpoint}/indexers('{indexerName}')?api-version=2023-11-01

Parâmetros do URI

Name Em Necessário Tipo Description
endpoint
path True

string

O URL do ponto final do serviço de pesquisa.

indexerName
path True

string

O nome do indexador a criar ou atualizar.

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 controlo enviado com o pedido para ajudar na depuração.

If-Match

string

Define a condição If-Match. A operação só será efetuada se a ETag no servidor corresponder a este valor.

If-None-Match

string

Define a condição If-None-Match. A operação só será efetuada se a ETag no servidor não corresponder a este valor.

Prefer True

string

Para pedidos HTTP PUT, indica ao serviço para devolver o recurso criado/atualizado com êxito.

Corpo do Pedido

Name Necessário Tipo Description
dataSourceName True

string

O nome da origem de dados a partir da qual este indexador lê dados.

name True

string

O nome do indexador.

targetIndexName True

string

O nome do índice para o qual este indexador escreve 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á desativado. A predefinição é falso.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de encriptação que cria no Azure Key Vault. Esta chave é utilizada para fornecer um nível adicional de encriptação inativa para a definição do indexador (bem como o estado de execução do indexador) quando quer ter a garantia total de que ninguém, nem mesmo a Microsoft, os pode desencriptar. Depois de encriptar a definição do indexador, esta permanecerá sempre encriptada. O serviço de pesquisa irá ignorar as tentativas de definir esta propriedade como nula. Pode alterar esta propriedade conforme necessário se quiser rodar a chave de encriptação; A definição do indexador (e o estado de execução do indexador) não serão afetados. A encriptação com chaves geridas pelo cliente não está disponível para serviços de pesquisa gratuita e só está disponível para serviços pagos criados a partir de 1 de janeiro de 2019 ou depois de 1 de janeiro de 2019.

fieldMappings

FieldMapping[]

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

outputFieldMappings

FieldMapping[]

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

parameters

IndexingParameters

Parâmetros para a execução do indexador.

schedule

IndexingSchedule

A agenda para este indexador.

skillsetName

string

O nome do conjunto de competências executado com este indexador.

Respostas

Name 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

Name Description
AzureActiveDirectoryApplicationCredentials

Credenciais de uma aplicação registada criada para o seu serviço de pesquisa, utilizada para acesso autenticado às chaves de encriptação armazenadas no Azure Key Vault.

BlobIndexerDataToExtract

Especifica os dados a extrair do armazenamento de blobs do Azure e indica ao indexador quais os dados a extrair do conteúdo da imagem quando "imageAction" está definido para um valor diferente de "nenhum". Isto aplica-se a conteúdos de imagens incorporadas num .PDF ou noutra aplicação, ou ficheiros de imagem, como .jpg e .png, nos blobs do Azure.

BlobIndexerImageAction

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

BlobIndexerParsingMode

Representa o modo de análise para indexação a partir de uma origem de dados de blobs do Azure.

BlobIndexerPDFTextRotationAlgorithm

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

FieldMapping

Define um mapeamento entre um campo numa origem de dados e um campo de destino num índice.

FieldMappingFunction

Representa uma função que transforma um valor de uma origem 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 tem de 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 encriptação gerida pelo cliente no Azure Key Vault. As chaves que cria e gere podem ser utilizadas para encriptar ou desencriptar dados inativos no seu serviço de pesquisa, como índices e mapas de sinónimos.

AzureActiveDirectoryApplicationCredentials

Credenciais de uma aplicação registada criada para o seu serviço de pesquisa, utilizada para acesso autenticado às chaves de encriptação armazenadas no Azure Key Vault.

Name Tipo Description
applicationId

string

Um ID da Aplicação do AAD ao qual foram concedidas as permissões de acesso necessárias ao Azure Key Vault que deve ser utilizado ao encriptar os seus dados inativos. O ID da Aplicação não deve ser confundido com o ID de Objeto da sua Aplicação do AAD.

applicationSecret

string

A chave de autenticação da aplicação do AAD especificada.

BlobIndexerDataToExtract

Especifica os dados a extrair do armazenamento de blobs do Azure e indica ao indexador quais os dados a extrair do conteúdo da imagem quando "imageAction" está definido para um valor diferente de "nenhum". Isto aplica-se a conteúdos de imagens incorporadas num .PDF ou noutra aplicação, ou ficheiros de imagem, como .jpg e .png, nos blobs do Azure.

Name Tipo Description
allMetadata

string

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

contentAndMetadata

string

Extrai todos os metadados e conteúdos textuais de cada blob.

storageMetadata

string

Indexa apenas as propriedades de blob padrão e os metadados especificados pelo utilizador.

BlobIndexerImageAction

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

Name Tipo Description
generateNormalizedImagePerPage

string

Extrai texto de imagens (por exemplo, a palavra "PARAR" de um sinal de paragem de tráfego) e incorpora-o no campo de conteúdo, mas trata os ficheiros PDF de forma diferente na medida em que cada página será composta como uma imagem e normalizada em conformidade, em vez de extrair imagens incorporadas. Os tipos de ficheiro não PDF serão tratados da mesma forma que "generateNormalizedImages" foi definido.

generateNormalizedImages

string

Extrai texto de imagens (por exemplo, a palavra "PARAR" de um sinal de paragem de tráfego) e incorpora-o no campo de conteúdo. Esta ação requer que "dataToExtract" esteja definido como "contentAndMetadata". Uma imagem normalizada refere-se ao processamento adicional que resulta numa saída de imagem uniforme, dimensionada e rodada para promover uma composição consistente quando inclui imagens nos resultados da pesquisa visual. Estas informações são geradas para cada imagem quando utiliza esta opção.

none

string

Ignora imagens incorporadas ou ficheiros de imagem no conjunto de dados. Esta é a predefinição.

BlobIndexerParsingMode

Representa o modo de análise para indexação a partir de uma origem de dados de blobs do Azure.

Name Tipo Description
default

string

Defina como predefinição para processamento normal de ficheiros.

delimitedText

string

Defina como delimitadoTexto quando os blobs são ficheiros CSV simples.

json

string

Defina como json para extrair conteúdo estruturado de ficheiros 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 ficheiros de texto simples no armazenamento de blobs.

BlobIndexerPDFTextRotationAlgorithm

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

Name Tipo Description
detectAngles

string

Pode produzir uma extração de texto melhor e mais legível a partir de ficheiros PDF que tenham rodado texto dentro dos mesmos. Tenha em atenção que pode haver um pequeno impacto na velocidade de desempenho quando este parâmetro é utilizado. Este parâmetro aplica-se apenas a ficheiros PDF e apenas a PDFs com texto incorporado. Se o texto rodado aparecer numa imagem incorporada no PDF, este parâmetro não se aplica.

none

string

Tira partido da extração de texto normal. Esta é a predefinição.

FieldMapping

Define um mapeamento entre um campo numa origem de dados e um campo de destino num índice.

Name Tipo Description
mappingFunction

FieldMappingFunction

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

sourceFieldName

string

O nome do campo na origem de dados.

targetFieldName

string

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

FieldMappingFunction

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

Name Tipo Description
name

string

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

parameters

object

Um dicionário de pares nome/valor do parâmetro para passar para a função. Cada valor tem de 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 aprovisionado especificamente para o serviço de pesquisa. Esta definição só deve ser especificada como o ambiente de execução se o indexador precisar de aceder aos recursos de forma segura através de recursos de ligação privada partilhados.

standard

string

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

IndexingParameters

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

Name Tipo Valor Predefinido Description
batchSize

integer

O número de itens lidos a partir da origem de dados e indexados como um único lote para melhorar o desempenho. A predefinição depende do tipo de origem 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 tem de ser de um tipo primitivo.

maxFailedItems

integer

0

O número máximo de itens que podem falhar a indexação para a execução do indexador continuar a ser considerado com êxito. -1 significa que não há limite. A predefinição é 0.

maxFailedItemsPerBatch

integer

0

O número máximo de itens num único lote que pode falhar a indexação para que o lote continue a ser considerado com êxito. -1 significa que não há limite. A predefiniçã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 tem de ser de um tipo primitivo.

Name Tipo Valor Predefinido Description
allowSkillsetToReadFileData

boolean

False

Se for verdadeiro, irá criar um caminho //document//file_data que é um objeto que representa os dados de ficheiro originais transferidos a partir da origem de dados do blob. Isto permite-lhe transmitir os dados de ficheiro originais para uma competência personalizada para processamento no pipeline de melhoramento ou para a competência extração de documentos.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Especifica os dados a extrair do armazenamento de blobs do Azure e indica ao indexador quais os dados a extrair do conteúdo da imagem quando "imageAction" está definido para um valor diferente de "nenhum". Isto aplica-se a conteúdos de imagens incorporadas num .PDF ou noutra aplicação, ou ficheiros de imagem, como .jpg e .png, nos blobs do Azure.

delimitedTextDelimiter

string

Para blobs CSV, especifica o delimitador de carateres únicos de fim de linha para ficheiros 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 num índice.

documentRoot

string

Para matrizes JSON, tendo em conta um documento estruturado ou semiestruturado, pode especificar um caminho para a matriz com esta propriedade.

excludedFileNameExtensions

string

Lista delimitada por vírgulas de extensões de nome de ficheiro a ignorar ao processar a partir do armazenamento de blobs do Azure. Por exemplo, pode excluir ".png, .mp4" para ignorar esses ficheiros durante a indexação.

executionEnvironment

IndexerExecutionEnvironment

standard

Especifica o ambiente no qual o indexador deve ser executado.

failOnUnprocessableDocument

boolean

False

Para os blobs do Azure, defina como falso se quiser continuar a indexar se um documento falhar a indexação.

failOnUnsupportedContentType

boolean

False

Para os blobs do Azure, defina como falso se quiser continuar a indexar quando for encontrado um tipo de conteúdo não suportado e não souber com antecedência todos os tipos de conteúdo (extensões de ficheiro).

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 ficheiros de imagem no armazenamento de blobs do Azure. Definir a configuração "imageAction" para qualquer valor diferente de "nenhum" requer que um conjunto de competências também seja anexado a esse indexador.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Para os blobs do Azure, defina esta propriedade como verdadeira para indexar metadados de armazenamento para conteúdo de blobs demasiado grande para processar. Os blobs de grandes dimensões são tratados como erros por predefinição. Para obter limites sobre o 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 ficheiro a selecionar ao processar a partir do armazenamento de blobs do Azure. Por exemplo, pode focar a indexação em ficheiros de aplicação específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de ficheiro.

parsingMode

BlobIndexerParsingMode

default

Representa o modo de análise para indexação a partir de uma origem de dados de blobs do Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

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

queryTimeout

string

00:05:00

Aumenta o tempo limite para além da predefinição de 5 minutos para SQL do Azure origens de dados da base de dados, 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 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.

Name Tipo Description
code

string

Um dos conjuntos de códigos de erro definidos pelo servidor.

details

SearchError[]

Uma série de detalhes sobre erros específicos que levaram a este erro comunicado.

message

string

Uma representação legível por humanos do erro.

SearchIndexer

Representa um indexador.

Name Tipo Valor Predefinido Description
@odata.etag

string

A ETag do indexador.

dataSourceName

string

O nome da origem de dados a partir da qual este indexador lê dados.

description

string

A descrição do indexador.

disabled

boolean

False

Um valor que indica se o indexador está desativado. A predefinição é falso.

encryptionKey

SearchResourceEncryptionKey

Uma descrição de uma chave de encriptação que cria no Azure Key Vault. Esta chave é utilizada para fornecer um nível adicional de encriptação inativa para a definição do indexador (bem como o estado de execução do indexador) quando quer ter a garantia total de que ninguém, nem mesmo a Microsoft, os pode desencriptar. Depois de encriptar a definição do indexador, esta permanecerá sempre encriptada. O serviço de pesquisa irá ignorar as tentativas de definir esta propriedade como nula. Pode alterar esta propriedade conforme necessário se quiser rodar a chave de encriptação; A definição do indexador (e o estado de execução do indexador) não serão afetados. A encriptação com chaves geridas pelo cliente não está disponível para serviços de pesquisa gratuita e só está disponível para serviços pagos criados a partir de 1 de janeiro de 2019 ou depois de 1 de janeiro de 2019.

fieldMappings

FieldMapping[]

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

name

string

O nome do indexador.

outputFieldMappings

FieldMapping[]

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

parameters

IndexingParameters

Parâmetros para a execução do indexador.

schedule

IndexingSchedule

A agenda para este indexador.

skillsetName

string

O nome do conjunto de competências executado com este indexador.

targetIndexName

string

O nome do índice para o qual este indexador escreve dados.

SearchResourceEncryptionKey

Uma chave de encriptação gerida pelo cliente no Azure Key Vault. As chaves que cria e gere podem ser utilizadas para encriptar ou desencriptar dados inativos no seu serviço de pesquisa, como índices e mapas de sinónimos.

Name Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciais opcionais do Azure Active Directory utilizadas para aceder ao seu Key Vault do Azure. Em vez disso, não é necessário utilizar a identidade gerida.

keyVaultKeyName

string

O nome da chave de Key Vault do Azure a ser utilizada para encriptar os seus dados inativos.

keyVaultKeyVersion

string

A versão da chave de Key Vault do Azure a ser utilizada para encriptar os seus dados inativos.

keyVaultUri

string

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