Share via


Criar ou Atualizar Indexador (API REST de Pré-visualização)

Aplica-se a: 2023-07-01-Preview, 2021-04-30-Preview, 2020-06-30-Preview

Importante

07-2023-01-Preview (sem alterações).

04-2021-04-30-Preview adiciona suporte de identidade gerida para cache de melhoramento e chaves de encriptação:

  • "storageConnectionString" aceita um ID de Recurso para uma ligação de identidade gerida atribuída pelo sistema ao Armazenamento do Azure. Esta propriedade está em "cache". A identidade gerida atribuída pelo utilizador não é suportada.
  • A "identidade" aceita uma identidade gerida atribuída pelo utilizador.

2020-06-30-Preview adiciona:

Um indexador automatiza a indexação a partir de origens de dados suportadas ao ligar a uma origem de dados predefinida, ao obter e serializar dados e ao transmiti-la para um serviço de pesquisa para ingestão de dados. Para melhorar a IA da imagem e do texto não estruturado, os indexadores também podem aceitar um conjunto de competências que adiciona processamento de imagem e linguagem natural.

Pode utilizar POST ou PUT num pedido de criação. Para qualquer um deles, o corpo do pedido fornece a definição do objeto.

POST https://[service name].search.windows.net/indexers?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]  

Para pedidos de atualização, utilize PUT e especifique o nome do indexador no URI.

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]    

O HTTPS é necessário para todos os pedidos de serviço. Se o indexador não existir, será criado. Se já existir, será atualizado para a nova definição, mas terá de emitir um pedido do Run Indexer se quiser executar o indexador.

Criar um indexador adiciona-o ao seu serviço de pesquisa e executa-o. Se o pedido for bem-sucedido, o índice será preenchido com conteúdo pesquisável da origem de dados.

A atualização de um indexador não é executada automaticamente, mas, dependendo das modificações e da origem de dados associada, poderá ser necessária uma reposição e nova execução. Quando atualiza um indexador existente, toda a definição é substituída pelo conteúdo do corpo do pedido. Em geral, o melhor padrão a utilizar para atualizações é obter a definição do indexador com um GET, modificá-lo e, em seguida, atualizá-lo com PUT.

A configuração do indexador varia consoante o tipo de origem de dados. Para obter orientações específicas da plataforma de dados sobre a criação de indexadores, comece com a Descrição geral dos Indexadores, que inclui a lista completa de artigos relacionados.

Nota

O número máximo de indexadores que pode criar varia consoantes do escalão de preço. Para obter mais informações, veja Limites de serviço para a Pesquisa de IA do Azure.

Parâmetros do URI

Parâmetro Description
nome do serviço Obrigatório. Defina-o como o nome exclusivo definido pelo utilizador do seu serviço de pesquisa.
nome do indexador Necessário no URI se estiver a utilizar PUT. O nome tem de ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos 128 carateres. Depois de iniciar o nome com uma letra ou número, o resto do nome pode incluir qualquer letra, número e travessões, desde que os traços não sejam consecutivos.
api-version Obrigatório. A versão de pré-visualização atual é 2023-07-01-Preview. Veja Versões da API para obter mais versões.

Cabeçalhos de Pedido

A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.

Campos Description
Content-Type Obrigatório. Defina esta opção como application/json
api-key Opcional se estiver a utilizar funções do Azure e for fornecido um token de portador no pedido, caso contrário, é necessária uma chave. Uma chave de API é uma cadeia exclusiva gerada pelo sistema que autentica o pedido no seu serviço de pesquisa. A opção Criar pedidos tem de incluir um api-key cabeçalho definido para a chave de administrador (em oposição a uma chave de consulta). Veja Connect to Azure AI Search using key authentication (Ligar à Pesquisa de IA do Azure com a autenticação de chaves ) para obter detalhes.

Corpo do Pedido

Uma origem de dados, índice e conjunto de competências fazem parte de uma definição de indexador , mas cada um é um componente independente que pode ser utilizado em combinações diferentes. Por exemplo, pode utilizar a mesma origem de dados com vários indexadores ou o mesmo índice com vários indexadores ou vários indexadores a escrever num único índice.

O seguinte JSON é uma representação de alto nível das partes principais da definição.

{   
    "name" : (optional on PUT; required on POST) "Name of the indexer",  
    "description" : (optional) "Anything you want, or nothing at all", 
    "dataSourceName" : (required) "Name of an existing data source",  
    "targetIndexName" : (required) "Name of an existing index",  
    "skillsetName" : (required for AI enrichment) "Name of an existing skillset",
    "cache":  { ... },
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters" : (optional) {
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration": { }
    },
    "fieldMappings" : (optional) { ... },
    "outputFieldMappings" : (required for AI enrichment) { ... },
    "encryptionKey":(optional) { },
    "disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}  

O pedido contém as seguintes propriedades:

Propriedade Descrição
name Obrigatório. O nome tem de ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos 128 carateres. Depois de iniciar o nome com uma letra ou número, o resto do nome pode incluir qualquer letra, número e travessões, desde que os traços não sejam consecutivos.
descrição Opcional. Descrição do indexador.
dataSourceName Obrigatório. Nome de uma origem de dados existente que fornece informações de ligação e outras propriedades.
targetIndexName Obrigatório. Nome de um índice existente.
skillsetName Necessário para o melhoramento de IA. Nome de um conjunto de competências existente.
cache Opcional para o melhoramento de IA, permite a reutilização de documentos inalterados.
agendar Opcional, mas é executado uma vez imediatamente, se não for especificado.
parameters Opcional. Propriedades para modificar o comportamento do runtime.
fieldMappings Opcional. Utilizado quando os campos de origem e de destino têm nomes diferentes.
outputFieldMappings Necessário para o melhoramento de IA. Mapeia a saída de um conjunto de competências para um índice ou projeção.
encryptionKey Opcional. Utilizado para encriptar dados de indexador inativos com as suas próprias chaves, geridos no seu Key Vault do Azure. Para saber mais, veja Encriptação da Pesquisa de IA do Azure com chaves geridas pelo cliente no Azure Key Vault.
desativado Opcional. Valor booleano que indica se o indexador está desativado. Falso por predefinição.

Resposta

201 Criado para um pedido com êxito.

Exemplos

Exemplo: indexador baseado em texto com agenda e parâmetro

Este exemplo cria um indexador que copia dados da tabela referenciada pela origem order-sds de dados para o orders-idx índice com base numa agenda que começa a 1 de janeiro de 2022 UTC e é executada à hora. Cada invocação do indexador será bem-sucedida se não forem indexados mais de 5 itens em cada lote e não for possível indexar mais de 10 itens no total. Os mapeamentos de campos fornecem um caminho de dados quando os nomes e tipos de campo não correspondem.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "orders-ds",  
    "targetIndexName" : "orders-idx", 
    "fieldMappings" : [
      {
          "sourceFieldName" : "content",
          "targetFieldName" : "sourceContent"
      }
    ], 
    "schedule" : { "interval" : "PT1H", "startTime" : "2022-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

Exemplo: Indexador de conjuntos de competências

Este exemplo demonstra um melhoramento de IA, indicado pela referência a um conjunto de competências e outputFieldMappings que mapeiam saídas de competências para campos num índice de pesquisa. Os conjuntos de competências são recursos de alto nível, definidos separadamente.

Novo nesta pré-visualização e aplicável apenas a conjuntos de competências, pode especificar a propriedade cache para reutilizar documentos que não são afetados por alterações na definição do conjunto de competências.

{
  "name":"demo-indexer",	
  "dataSourceName" : "demo-data",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "DefaultEndpointsProtocol=https;AccountName=<storage-account-name>;AccountKey=<storage-account-key>;EndpointSuffix=core.windows.net",
      "enableReprocessing": true
    },
  "fieldMappings" : [ ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
  	"maxFailedItems":-1,
  	"configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

Exemplo: Cache de melhoramento com uma ligação de identidade gerida

Este exemplo ilustra o formato cadeia de ligação ao utilizar o Azure Active Directory para autenticação. O serviço de pesquisa tem de ser configurado para utilizar uma identidade gerida. A identidade tem de ter permissões de "Contribuidor de Dados do Blob de Armazenamento" para que possa escrever na cache. A cadeia de ligação é o ID de Recurso exclusivo da sua conta de armazenamento e tem de incluir o contentor utilizado para armazenar o melhoramento em cache.

{
  "name":"demo-indexer",
  "dataSourceName" : "demodata-ds",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "ResourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/<container-name>;",
      "enableReprocessing": true
    },
  "fieldMappings" : [  ],
  "outputFieldMappings" :  [  ],
  "parameters": {  }
}

Definições

Ligação Description
cache Configura a colocação em cache para melhoramento de IA e execução de conjuntos de competências.
encryptionKey Configura uma ligação ao Azure Key Vault para encriptação gerida pelo cliente.
fieldMappings Mapeamentos de campos de origem para destino para campos que não correspondem por nome e tipo.
outputFieldMappings Mapeia nós num documento melhorado para campos num índice. Necessário se estiver a utilizar conjuntos de competências.
parameters Configura um indexador. Os parâmetros incluem parâmetros gerais e parâmetros específicos da origem.
agendar Especifica o intervalo e a frequência da execução do indexador agendado.

cache (pré-visualização)

A indexação incremental é a capacidade de reutilizar documentos melhorados na cache ao processar um conjunto de competências. O cenário mais comum é a reutilização do OCR ou a análise de imagens de ficheiros de imagem, que podem ser dispendiosos e morosos de processar.

"cache" : 
  {
    "storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
    "enableReprocessing": true
  }

O objeto de cache tem propriedades obrigatórias e opcionais.

Propriedade Descrição
storageConnectionString Obrigatório. Especifica a conta de armazenamento utilizada para colocar em cache os resultados intermédios. Com a conta que fornecer, o serviço de pesquisa irá criar um contentor de blobs com ms-az-search-indexercache o prefixo e concluído com um GUID exclusivo para o indexador. Tem de ser definido como um cadeia de ligação de acesso total que inclua uma chave ou o ID de Recurso exclusivo da sua conta de armazenamento para pedidos autenticados com Azure AD.

Para se autenticar através de Azure AD, o serviço de pesquisa tem de ser configurado para utilizar uma identidade gerida e essa identidade tem de ter a permissão "Contribuidor de Dados do Blob de Armazenamento".
enableReprocessing Opcional. Propriedade booleana (true por predefinição) para controlar o processamento de documentos recebidos já representados na cache. Quando true (predefinição), os documentos que já se encontram na cache são novamente processados quando executar novamente o indexador, assumindo que a atualização de competências afeta esse documento. Quando false, os documentos existentes não são processados novamente, atribuindo efetivamente prioridade a novos conteúdos recebidos em vez de conteúdo existente. Só deve definir enableReprocessing como false temporariamente. Para garantir a consistência em todo o corpus, enableReprocessing deve ser true a maior parte do tempo, garantindo que todos os documentos, novos e existentes, são válidos de acordo com a definição atual do conjunto de competências.
ID Só de leitura. Gerado assim que a cache é criada. É ID o identificador do contentor na conta de armazenamento que será utilizado como a cache deste indexador. Esta cache será exclusiva deste indexador e, se o indexador for eliminado e recriado com o mesmo nome, será ID regenerado. O ID não pode ser definido, é sempre gerado pelo serviço.

agenda

Opcionalmente, um indexador pode especificar uma agenda. Sem uma agenda, o indexador é executado imediatamente quando envia o pedido: ligar a, pesquisar e indexar a origem de dados. Para alguns cenários, incluindo tarefas de indexação de execução prolongada, as agendas são utilizadas para expandir a janela de processamento para além do máximo de 24 horas. Se existir uma agenda, o indexador é executado periodicamente de acordo com a agenda. O agendador está incorporado; não pode utilizar um agendador externo. Uma Agenda tem os seguintes atributos:

  • intervalo: obrigatório. Um valor de duração que especifica um intervalo ou período para execuções do indexador. O intervalo permitido mais pequeno é de cinco minutos; o mais longo é um dia. Tem de ser formatado como um valor XSD "dayTimeDuration" (um subconjunto restrito de um valor de duração ISO 8601 ). O padrão para isto é: "P[nD][T[nH][nM]]". Exemplos: PT15M por cada 15 minutos, PT2H por cada 2 horas.

  • startTime: opcional. Um datetime UTC em que o indexador deve começar a ser executado.

Nota

Se um indexador estiver definido para uma determinada agenda, mas falhar repetidamente no mesmo documento repetidamente sempre que for executado, o indexador começará a ser executado num intervalo menos frequente (até ao máximo de, pelo menos, uma vez a cada 24 horas) até voltar a progredir com êxito. Se acredita ter corrigido qualquer que seja o problema que estava a fazer com que o indexador ficasse bloqueado num determinado momento, pode executar uma execução a pedido do indexador e, se isso fizer progressos com êxito, o indexador voltará ao intervalo de agenda definido novamente.

parâmetros

Opcionalmente, um indexador pode utilizar parâmetros de configuração que modificam comportamentos de runtime. Os parâmetros de configuração são delimitados por vírgulas no pedido do indexador.

{
  "name" : "my-blob-indexer-for-cognitive-search",
  ... other indexer properties
  "parameters" : { 
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration" : { 
            "parsingMode" : "json", 
            "indexedFileNameExtensions" : ".json, .jpg, .png", 
            "imageAction" : "generateNormalizedImages", 
            "dataToExtract" : "contentAndMetadata" } }
}

Parâmetros gerais para todos os indexadores

Parâmetro Escrever e valores permitidos Utilização
"batchSize" Número inteiro
A predefinição é específica da origem (1000 para a Base de Dados SQL do Azure e o Azure Cosmos DB, 10 para Armazenamento de Blobs do Azure)
Especifica o número de itens lidos a partir da origem de dados e indexados como um único lote para melhorar o desempenho.
"maxFailedItems" Número inteiro
A predefinição é 0
O número de erros a tolerar antes de uma execução de indexador é considerado uma falha. Defina como -1 se não quiser que os erros parem o processo de indexação. Pode obter informações sobre itens com falha com Obter Estado do Indexador.
"maxFailedItemsPerBatch" Número inteiro
A predefinição é 0
O número de erros a tolerar em cada lote antes de uma execução de indexador ser considerado uma falha. Defina como -1 se não quiser que os erros parem o processo de indexação.
"base64EncodeKeys" Booleano
A predefinição é verdadeira
Os valores válidos são nulos, verdadeiros ou falsos. Quando definido como falso, o indexador não codifica automaticamente os valores do campo designado como chave de documento. Definir esta propriedade elimina a necessidade de especificar uma função de mapeamento que codifica valores de chave base64 (como travessões) que de outra forma não são válidos numa chave de documento.

Parâmetros de configuração de blobs

Vários parâmetros são exclusivos de um determinado indexador, como a indexação de blobs do Azure.

Parâmetro Escrever e valores permitidos Utilização
"parsingMode" String
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Para blobs do Azure, defina para text melhorar o desempenho da indexação em ficheiros de texto simples no armazenamento de blobs.
Para blobs CSV, defina como delimitedText quando os blobs são ficheiros CSV simples.
Para blobs JSON, defina para json extrair conteúdo estruturado ou para jsonArray extrair elementos individuais de uma matriz como documentos separados no Azure AI Search. Utilizado jsonLines para extrair entidades JSON individuais, separadas por uma nova linha, como documentos separados no Azure AI Search.
"excludedFileNameExtensions" String
lista delimitada por vírgulas
definido pelo utilizador
Para blobs do Azure, ignore todos os tipos de ficheiro na lista. Por exemplo, pode excluir ".png, .png, .mp4" para ignorar esses ficheiros durante a indexação.
"indexedFileNameExtensions" String
lista delimitada por vírgulas
definido pelo utilizador
Para blobs do Azure, seleciona blobs se a extensão de ficheiro estiver na lista. Por exemplo, pode concentrar a indexação em ficheiros de aplicação específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de ficheiro.
"failOnUnsupportedContentType" Booleano
true
falso (predefinição)
Para blobs do Azure, defina como false 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).
"failOnUnprocessableDocument" Booleano
true
falso (predefinição)
Para blobs do Azure, defina como false se quiser continuar a indexação se um documento falhar na indexação.
"indexStorageMetadataOnly
ForOversizedDocuments"
Booleano verdadeiro
falso (predefinição)
Para os blobs do Azure, defina esta propriedade como true para indexar metadados de armazenamento para conteúdos de blobs demasiado grandes para processar. Os blobs de grandes dimensões são tratados como erros por predefinição. Para obter limites no tamanho do blob, veja Limites de Serviço.
"delimitedTextHeaders" String
lista delimitada por vírgulas
definido pelo utilizador
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.
"delimitedTextDelimiter" String
caráter único
definido pelo utilizador
Para blobs CSV, especifica o delimitador de fim de linha para ficheiros CSV onde cada linha inicia um novo documento (por exemplo, "|").
"firstLineContainsHeaders" Booleano
true (predefinição)
false
Para blobs CSV, indica que a primeira linha (não em branco) de cada blob contém cabeçalhos.
"documentRoot" String
caminho definido pelo utilizador
Para matrizes JSON, tendo em conta um documento estruturado ou semiestruturado, pode especificar um caminho para a matriz com esta propriedade.
"dataToExtract" String
"storageMetadata"
"allMetadata"
"contentAndMetadata" (predefinição)
Para blobs do Azure:
Defina como "storageMetadata" para indexar apenas as propriedades padrão do blob e os metadados especificados pelo utilizador.
Defina como para "allMetadata" extrair 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.
Defina como "contentAndMetadata" para extrair todos os metadados e conteúdos textuais de cada blob.

Para análise de imagens no melhoramento de IA, quando "imageAction" está definido para um valor diferente de "none", a definição indica ao indexador quais os "dataToExtract" dados a extrair do conteúdo da imagem. 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.
"imageAction" String
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Para blobs do Azure, defina como"none" ignorar imagens incorporadas ou ficheiros de imagem no conjunto de dados. Esta é a predefinição.

Para análise de imagens no melhoramento de IA, defina para"generateNormalizedImages" extrair texto de imagens (por exemplo, a palavra "parar" a partir de um sinal de Paragem de tráfego) e incorpore-o como parte do campo de conteúdo. Durante a análise de imagens, o indexador cria uma matriz de imagens normalizadas como parte da quebra de documentos e incorpora as informações geradas no campo de conteúdo. Esta ação requer que "dataToExtract" esteja definida como "contentAndMetadata". Uma imagem normalizada refere-se a um processamento adicional que resulta numa saída de imagem uniforme, dimensionada e rodada para promover a composição consistente quando inclui imagens nos resultados da pesquisa visual (por exemplo, fotografias do mesmo tamanho num controlo de grafo, conforme visto na demonstração JFK). Estas informações são geradas para cada imagem quando utiliza esta opção.

Se definir como "generateNormalizedImagePerPage", os ficheiros PDF serão tratados de forma diferente, em vez de extrair imagens incorporadas, cada página será composta como uma imagem e normalizada em conformidade. Os tipos de ficheiro não PDF serão tratados da mesma forma que se "generateNormalizedImages" foi definido.

Definir a "imageAction" configuração para qualquer valor que não "none" seja requer que um conjunto de competências também seja anexado a esse indexador.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Qualquer número inteiro entre 50 e 10000 A largura ou altura máxima (em píxeis), respetivamente, para imagens normalizadas geradas quando um "imageAction" é definido. A predefinição é 2 000.

A predefinição de 2000 píxeis para as imagens normalizadas de largura e altura máxima baseia-se nos tamanhos máximos suportados pela competência do OCR e pela competência de análise de imagens. A competência OCR suporta uma largura e altura máximas de 4200 para idiomas não ingleses e 10000 para inglês. Se aumentar os limites máximos, o processamento poderá falhar em imagens maiores, dependendo da definição do conjunto de competências e do idioma dos documentos.
"allowSkillsetToReadFileData" Booleano
true
falso (predefinição)
Definir o "allowSkillsetToReadFileData" parâmetro para true 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. O objeto gerado será definido da seguinte forma: { "$type": "file", "data": "BASE64 encoded string of the file" }

Definir o "allowSkillsetToReadFileData" parâmetro para true requer que um conjunto de competências seja anexado a esse indexador, que o "parsingMode" parâmetro esteja definido como "default", "text" ou "json", e o "dataToExtract" parâmetro esteja definido como "contentAndMetadata" ou "allMetadata".
"pdfTextRotationAlgorithm" String
"none" (predefinição)
"detectAngles"
Definir o "pdfTextRotationAlgorithm" parâmetro como pode ajudar a "detectAngles" produzir uma extração de texto melhor e mais legível a partir de ficheiros PDF que tenham texto rodado 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 rotativo aparecer numa imagem incorporada no PDF, este parâmetro não se aplica.

Definir o "pdfTextRotationAlgorithm" parâmetro para "detectAngles" requer que o "parsingMode" parâmetro esteja definido como "default".

Parâmetros de configuração do Azure Cosmos DB

Os seguintes parâmetros são específicos dos indexadores do Cosmos DB.

Parâmetro Escrever e valores permitidos Utilização
"assumeOrderByHighWaterMarkColumn" Booleano Para indexadores do Cosmos DB com a API SQL, defina este parâmetro para fornecer uma sugestão ao Cosmos DB de que a consulta utilizada para devolver documentos para indexação é, de facto, ordenada pela _ts coluna. Definir este parâmetro dá-lhe melhores resultados para cenários de indexação incremental.

SQL do Azure parâmetros de configuração

Os seguintes parâmetros são específicos da Base de Dados SQL do Azure.

Parâmetro Escrever e valores permitidos Utilização
"queryTimeout" String
"hh:mm:ss"
"00:05:00"
Defina este parâmetro para substituir a predefinição de 5 minutos.
"convertHighWaterMarkToRowVersion" Booleano Defina este parâmetro como "true" para utilizar o tipo de dados rowversion para a coluna de marca de água elevada. Quando esta propriedade está definida como verdadeira, o indexador subtrai uma do valor de rowversion antes de o indexador ser executado. Fá-lo porque as vistas com associações um-para-muitos podem ter linhas com valores de rowversion duplicados. Subtrair uma garante que a consulta do indexador não perde estas linhas.
"disableOrderByHighWaterMarkColumn" Booleano Defina este parâmetro como "verdadeiro" se quiser desativar o comportamento ORDER BY na consulta utilizada para a deteção de alterações. Se estiver a utilizar a política de deteção de alterações de marca de água elevada, o indexador utiliza cláusulas WHERE e ORDER BY para controlar as linhas que precisam de indexação (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Este parâmetro desativa o comportamento ORDER BY. A indexação terminará mais rapidamente, mas a troca é que, se o indexador for interrompido por qualquer motivo, toda a tarefa do indexador tem de ser repetida na totalidade.

fieldMappings

Crie-os quando os nomes ou tipos de campos de destino de origem não corresponderem ou quando quiser especificar uma função. Os mapeamentos de campos não são sensíveis a maiúsculas e minúsculas. Veja Definir mapeamentos de campos.

Atributo Descrição
sourceFieldName Obrigatório. Nome da coluna de origem.
targetFieldName Obrigatório. Nome do campo correspondente no índice de pesquisa.
mappingFunction Opcional. Adiciona o processamento aos valores de origem a caminho do motor de busca. Por exemplo, um valor de cadeia arbitrário pode ser codificado com base64 para que possa ser utilizado para preencher um campo de chave de documento. Uma função de mapeamento tem um nome e parâmetros. Os valores válidos incluem:

base64Encode
base64Decode
extractTokenAtPosition
jsonArrayToStringCollection
urlEncode
urlDecode

outputFieldMappings

Especifica saídas de competências (ou nós numa árvore de melhoramento) para campos num índice de pesquisa.

  "outputFieldMappings" : [
        {
          "sourceFieldName" : "/document/organizations", 
          "targetFieldName" : "organizations"
        },
        {
          "sourceFieldName" : "/document/pages/*/keyPhrases/*", 
          "targetFieldName" : "keyphrases"
        },
        {
            "sourceFieldName": "/document/languageCode",
            "targetFieldName": "language",
            "mappingFunction": null
        }      
   ],

encryptionKey

Configura uma ligação ao Azure Key Vault para chaves de encriptação geridas pelo cliente (CMK) suplementares. A encriptação com chaves geridas pelo cliente não está disponível para serviços gratuitos. Para serviços faturáveis, só está disponível para serviços de pesquisa criados em ou depois de 2019-01-01.

Uma ligação ao cofre de chaves tem de ser autenticada. Pode utilizar "accessCredentials" ou uma identidade gerida para esta finalidade.

As identidades geridas podem ser atribuídas pelo sistema ou pelo utilizador (pré-visualização). Se o serviço de pesquisa tiver uma identidade gerida atribuída pelo sistema e uma atribuição de função que conceda acesso de leitura ao cofre de chaves, pode omitir "identidade" e "accessCredentials" e o pedido será autenticado com a identidade gerida pelo sistema. Se o serviço de pesquisa tiver a atribuição de identidade e função atribuída pelo utilizador, defina a propriedade "identidade" para o ID de recurso dessa identidade.

Atributo Descrição
keyVaultKeyName Obrigatório. Nome da chave de Key Vault do Azure utilizada para encriptação.
keyVaultKeyVersion Obrigatório. Versão da chave de Key Vault do Azure.
keyVaultUri Obrigatório. URI do Azure Key Vault (também conhecido como nome DNS) que fornece a chave. Um URI de exemplo pode ser https://my-keyvault-name.vault.azure.net
accessCredentials Omitir se estiver a utilizar uma identidade gerida. Caso contrário, as propriedades de incluir applicationId (um ID de accessCredentials Aplicação do Azure Active Directory que tenha permissões de acesso ao Azure Key Vault especificado) e applicationSecret (a chave de autenticação da aplicação Azure AD especificada).
identidade Opcional, a menos que esteja a utilizar uma identidade gerida atribuída pelo utilizador para a ligação do serviço de pesquisa ao Azure Key Vault. O formato é "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]".

Ver também