Indexers - Create Or Update
Cria um novo indexador ou atualiza um indexador, se já existir.
PUT {endpoint}/indexers('{indexerName}')?api-version=2023-10-01-Preview
PUT {endpoint}/indexers('{indexerName}')?api-version=2023-10-01-Preview&ignoreResetRequirements={ignoreResetRequirements}&disableCacheReprocessingChangeDetection={disableCacheReprocessingChangeDetection}
Parâmetros do URI
Name | Em | Necessário | Tipo | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
O URL do ponto final do serviço de pesquisa. |
indexer
|
path | True |
string |
O nome do indexador a criar ou atualizar. |
api-version
|
query | True |
string |
Versão da API do Cliente. |
disable
|
query |
boolean |
Desativa a deteção de alterações de reprocessamento da cache. |
|
ignore
|
query |
boolean |
Ignora os requisitos de reposição da cache. |
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. |
|
cache |
Adiciona a colocação em cache a um pipeline de melhoramento para permitir passos de modificação incremental sem ter de reconstruir sempre o índice. |
||
description |
string |
A descrição do indexador. |
|
disabled |
boolean |
Um valor que indica se o indexador está desativado. A predefinição é falso. |
|
encryptionKey |
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 |
Define mapeamentos entre campos na origem de dados e campos de destino correspondentes no índice. |
||
outputFieldMappings |
Os mapeamentos de campos de saída são aplicados após o melhoramento e imediatamente antes da indexação. |
||
parameters |
Parâmetros para a execução do indexador. |
||
schedule |
A agenda para este indexador. |
||
skillsetName |
string |
O nome do conjunto de competências executado com este indexador. |
Respostas
Name | Tipo | Description |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
Resposta de erro. |
Exemplos
SearchServiceCreateOrUpdateIndexer
Pedido de amostra
PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2023-10-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 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 |
---|---|
Azure |
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. |
Blob |
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. |
Blob |
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. |
Blob |
Representa o modo de análise para indexação a partir de uma origem de dados de blobs do Azure. |
Blob |
Determina o algoritmo para extração de texto de ficheiros PDF no armazenamento de blobs do Azure. |
Field |
Define um mapeamento entre um campo numa origem de dados e um campo de destino num índice. |
Field |
Representa uma função que transforma um valor de uma origem de dados antes da indexação. |
Indexer |
Especifica o ambiente no qual o indexador deve ser executado. |
Indexing |
Representa parâmetros para a 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 tem de ser de um tipo primitivo. |
Indexing |
Representa uma agenda para a execução do indexador. |
Search |
Descreve uma condição de erro para a API. |
Search |
Representa um indexador. |
Search |
|
Search |
Limpa a propriedade de identidade de uma origem de dados. |
Search |
Especifica a identidade de uma origem de dados a utilizar. |
Search |
Uma chave de encriptação gerida pelo cliente no Azure Key Vault. As chaves que criar e gerir podem ser utilizadas para encriptar ou desencriptar dados inativos, 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 a quem foram concedidas as permissões de acesso necessárias para o 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 do 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 o 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 |
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 | Default value | 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 |
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 na indexação da execução do indexador continua 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 na 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 | Default value | Description |
---|---|---|---|
allowSkillsetToReadFileData |
boolean |
False |
Se for verdade, irá criar um caminho //document//file_data que é um objeto que representa os dados de ficheiro originais transferidos a partir da sua origem de dados de blobs. 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 de Extração de Documentos. |
dataToExtract | 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 como um valor diferente de "nenhum". Isto aplica-se a conteúdos de imagens incorporadas numa .PDF ou noutra aplicação ou ficheiros de imagem, como .jpg e .png, em 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 | standard |
Especifica o ambiente no qual o indexador deve ser executado. |
|
failOnUnprocessableDocument |
boolean |
False |
Para blobs do Azure, defina como falso se quiser continuar a indexação se um documento falhar na indexação. |
failOnUnsupportedContentType |
boolean |
False |
Para 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 | none |
Determina como processar imagens incorporadas e ficheiros de imagem no armazenamento de blobs do Azure. Definir a configuração "imageAction" como qualquer valor que não seja "nenhum" requer que um conjunto de competências também seja anexado a esse indexador. |
|
indexStorageMetadataOnlyForOversizedDocuments |
boolean |
False |
Para blobs do Azure, defina esta propriedade como true para indexar metadados de armazenamento ainda para conteúdo de blobs que é demasiado grande para processar. Os blobs de grandes dimensões são tratados como erros por predefinição. 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 ficheiro a selecionar ao processar a partir do armazenamento de blobs do Azure. Por exemplo, pode concentrar a indexação em ficheiros de aplicação específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de ficheiro. |
|
parsingMode | default |
Representa o modo de análise para indexação a partir de uma origem de dados de blobs do Azure. |
|
pdfTextRotationAlgorithm | 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 de 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 de 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 |
Uma matriz de detalhes sobre erros específicos que levaram a este erro reportado. |
|
message |
string |
Uma representação legível por humanos do erro. |
SearchIndexer
Representa um indexador.
Name | Tipo | Default value | Description |
---|---|---|---|
@odata.etag |
string |
O ETag do indexador. |
|
cache |
Adiciona a colocação em cache a um pipeline de melhoramento para permitir passos de modificação incremental sem ter de reconstruir sempre o índice. |
||
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 |
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 quiser 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 afetadas. 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 em ou depois de 1 de janeiro de 2019. |
||
fieldMappings |
Define mapeamentos entre campos na origem de dados e campos de destino correspondentes no índice. |
||
name |
string |
O nome do indexador. |
|
outputFieldMappings |
Os mapeamentos de campos de saída são aplicados após o melhoramento e imediatamente antes da indexação. |
||
parameters |
Parâmetros para a execução do indexador. |
||
schedule |
A agenda deste indexador. |
||
skillsetName |
string |
O nome do conjunto de competências executado com este indexador. |
|
targetIndexName |
string |
O nome do índice ao qual este indexador escreve dados. |
SearchIndexerCache
Name | Tipo | Description |
---|---|---|
enableReprocessing |
boolean |
Especifica se o reprocessamento incremental está ativado. |
identity | SearchIndexerDataIdentity: |
A identidade gerida atribuída pelo utilizador utilizada para ligações à cache de melhoramento. Se o cadeia de ligação indicar uma identidade (ResourceId) e não for especificado, é utilizada a identidade gerida atribuída pelo sistema. Nas atualizações ao indexador, se a identidade não for especificada, o valor permanece inalterado. Se estiver definido como "nenhum", o valor desta propriedade é limpo. |
storageConnectionString |
string |
O cadeia de ligação para a conta de armazenamento onde os dados da cache serão mantidos. |
SearchIndexerDataNoneIdentity
Limpa a propriedade de identidade de uma origem de dados.
Name | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
Um fragmento de URI que especifica o tipo de identidade. |
SearchIndexerDataUserAssignedIdentity
Especifica a identidade de uma origem de dados a utilizar.
Name | Tipo | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
Um fragmento de URI que especifica o tipo de identidade. |
userAssignedIdentity |
string |
O ID de recurso completamente qualificado do Azure de uma identidade gerida atribuída pelo utilizador normalmente no formulário "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" que deveria ter sido atribuído ao serviço de pesquisa. |
SearchResourceEncryptionKey
Uma chave de encriptação gerida pelo cliente no Azure Key Vault. As chaves que criar e gerir podem ser utilizadas para encriptar ou desencriptar dados inativos, como índices e mapas de sinónimos.
Name | Tipo | Description |
---|---|---|
accessCredentials |
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. |
|
identity | SearchIndexerDataIdentity: |
Uma identidade gerida explícita a utilizar para esta chave de encriptação. Se não for especificado e a propriedade de credenciais de acesso for nula, é utilizada a identidade gerida atribuída pelo sistema. Ao atualizar para o recurso, se a identidade explícita não for especificada, permanece inalterada. Se "nenhum" for especificado, o valor desta propriedade será limpo. |
keyVaultKeyName |
string |
O nome da sua chave de Key Vault do Azure a ser utilizada para encriptar os seus dados inativos. |
keyVaultKeyVersion |
string |
A versão da sua 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 |