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. |
indexer
|
path | True |
string |
O nome do indexador a ser criado ou atualizado. |
api-version
|
query | True |
string |
Versão da API do cliente. |
disable
|
query |
boolean |
Desabilita a detecção de alterações de reprocessamento de cache. |
|
ignore
|
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 |
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 |
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 |
Define mapeamentos entre campos na fonte de dados e campos de destino correspondentes no índice. |
||
outputFieldMappings |
Os mapeamentos de campo de saída são aplicados após o enriquecimento e imediatamente antes da indexação. |
||
parameters |
Parâmetros para execução do indexador. |
||
schedule |
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 | ||
201 Created | ||
Other Status Codes |
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 |
---|---|
Azure |
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. |
Blob |
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. |
Blob |
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. |
Blob |
Representa o modo de análise para indexação de uma fonte de dados de blob do Azure. |
Blob |
Determina o algoritmo para extração de texto de arquivos PDF no Armazenamento de Blobs do Azure. |
Error |
As informações adicionais do erro de gerenciamento de recursos. |
Error |
O detalhe do erro. |
Error |
Resposta de erro |
Field |
Define um mapeamento entre um campo em uma fonte de dados e um campo de destino em um índice. |
Field |
Representa uma função que transforma um valor de uma fonte de dados antes da indexação. |
Indexer |
Especifica o ambiente no qual o indexador deve ser executado. |
Indexing |
Representa os parâmetros de execução do indexador. |
Indexing |
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. |
Indexing |
Representa uma agenda para a execução do indexador. |
Search |
Representa um indexador. |
Search |
|
Search |
Limpa a propriedade de identidade de uma fonte de dados. |
Search |
Especifica a identidade de uma fonte de dados a ser usada. |
Search |
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 |
As informações adicionais do erro. |
|
code |
string |
O código de erro. |
details |
Os detalhes do erro. |
|
message |
string |
A mensagem de erro. |
target |
string |
O destino do erro. |
ErrorResponse
Resposta de erro
Nome | Tipo | Description |
---|---|---|
error |
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 |
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 |
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 | 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 | 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 | 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 | default |
Representa o modo de análise para indexação de uma fonte de dados de blob do Azure. |
|
pdfTextRotationAlgorithm | 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 |
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 |
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 |
Define mapeamentos entre campos na fonte de dados e os campos de destino correspondentes no índice. |
||
name |
string |
o nome do indexador. |
|
outputFieldMappings |
Os mapeamentos de campo de saída são aplicados após o enriquecimento e imediatamente antes da indexação. |
||
parameters |
Parâmetros para execução do indexador. |
||
schedule |
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. |
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. |
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 |
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 |