Criar ou atualizar indexador (API REST de versão prévia)

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

Importante

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

2021-04-30-Preview adiciona suporte de identidade gerenciada para chaves de criptografia e cache de enriquecimento:

  • "storageConnectionString" aceita uma ID de recurso para uma conexão de identidade gerenciada atribuída pelo sistema com o Armazenamento do Azure. Essa propriedade está em "cache". Não há suporte para identidade gerenciada atribuída pelo usuário.
  • A "identidade" aceita uma identidade gerenciada atribuída pelo usuário.

2020-06-30-Preview adiciona:

Um indexador automatiza a indexação de fontes de dados com suporte conectando-se a uma fonte de dados predefinida, recuperando e serializando dados e passando-os para um serviço de pesquisa para ingestão de dados. Para enriquecimento de IA de imagem e texto não estruturado, os indexadores também podem aceitar um conjunto de habilidades que adiciona processamento de imagem e linguagem natural.

Você pode usar POST ou PUT em uma solicitação de criação. Para qualquer um deles, o corpo da solicitação 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 solicitações de atualização, use 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]    

HTTPS é necessário para todas as solicitações de serviço. Se o indexador não existir, ele será criado. Se ele já existir, ele será atualizado para a nova definição, mas você deverá emitir uma solicitação Executar Indexador se quiser a execução do indexador.

A criação de um indexador o adiciona ao serviço de pesquisa e o executa. Se a solicitação for bem-sucedida, o índice será preenchido com conteúdo pesquisável da fonte de dados.

A atualização de um indexador não o executa automaticamente, mas dependendo de suas modificações e da fonte de dados associada, uma redefinição e execução podem ser necessárias. Quando você atualiza um indexador existente, toda a definição é substituída pelo conteúdo do corpo da solicitação. Em geral, o melhor padrão a ser usado para atualizações é recuperar a definição do indexador com um GET, modificá-la e atualizá-la com PUT.

A configuração do indexador varia de acordo com o tipo de fonte de dados. Para obter orientação sobre a criação de indexadores específicos de plataforma de dados, inicie com Visão geral de indexadores, que inclui a lista completa de artigos relacionados.

Observação

O número máximo de indexadores que você pode criar varia de acordo com o tipo de preço. Para obter mais informações, consulte Limites de serviço para o Azure AI Search.

Parâmetros de URI

Parâmetro Descrição
nome do serviço Obrigatórios. Defina isso como o nome exclusivo definido pelo usuário do serviço de pesquisa.
nome do indexador Necessário no URI se estiver usando PUT. O nome deve ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos 128 caracteres. Depois de iniciar o nome com uma letra ou número, o restante do nome pode incluir qualquer letra, número e traços, desde que os traços não sejam consecutivos.
api-version Obrigatórios. A versão prévia atual é 2023-07-01-Preview. Confira Versões de API para obter mais versões.

Cabeçalhos de solicitação

A tabela a seguir descreve os cabeçalhos de solicitação necessários e opcionais

Campos Descrição
Tipo de conteúdo Obrigatórios. Defina-o como application/json
chave de API Opcional se você estiver usando funções do Azure e um token de portador for fornecido na solicitação, caso contrário, uma chave será necessária. Uma chave de api é uma cadeia de caracteres exclusiva gerada pelo sistema que autentica a solicitação para o serviço de pesquisa. As solicitações de criação devem incluir um api-key cabeçalho definido como sua chave de administrador (em vez de uma chave de consulta). Confira Conectar-se ao Azure AI Search usando a autenticação de chave para obter detalhes.

Corpo da solicitação

Uma fonte de dados, um índice e um conjunto de habilidades fazem parte de uma definição de indexador, mas cada um é um componente independente que pode ser usado em diferentes combinações. Por exemplo, você pode usar a mesma fonte de dados com vários indexadores, o mesmo índice com vários indexadores ou vários indexadores gravando em um único índice.

O JSON a seguir é uma representação de alto nível das partes main 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.
}  

A contém as seguintes propriedades:

Propriedade Descrição
name Obrigatórios. O nome deve ser minúsculo, começar com uma letra ou número, não ter barras ou pontos e ter menos 128 caracteres. Depois de iniciar o nome com uma letra ou número, o restante do nome pode incluir qualquer letra, número e traços, desde que os traços não sejam consecutivos.
descrição Opcional. Descrição do indexador.
Datasourcename Obrigatórios. Nome de uma fonte de dados existente que fornece informações de conexão e outras propriedades.
targetIndexName Obrigatórios. Nome de um índice existente.
skillsetName Necessário para enriquecimento de IA. Nome de um conjunto de habilidades existente.
Cache Opcional para enriquecimento de IA, permite a reutilização de documentos inalterados.
schedule Opcional, mas é executado uma vez imediatamente, se não for especificado.
parameters Opcional. Propriedades para modificar o comportamento do runtime.
fieldMappings Opcional. Usado quando os campos de origem e destino têm nomes diferentes.
outputFieldMappings Necessário para enriquecimento de IA. Mapeia a saída de um conjunto de habilidades para um índice ou projeção.
encryptionKey Opcional. Usado para criptografar dados inativos do indexador com suas próprias chaves, gerenciadas no Key Vault do Azure. Para saber mais, confira Criptografia do Azure AI Search usando chaves gerenciadas pelo cliente no Azure Key Vault.
desabilitado Opcional. Valor booliano que indica se o indexador está desabilitado. Falso por padrão.

Resposta

201 Criado para uma solicitação bem-sucedida.

Exemplos

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

Este exemplo cria um indexador que copia dados da tabela referenciada pela order-sds fonte de dados para o orders-idx índice em um agendamento que começa em 1º de janeiro de 2022 UTC e é executado por hora. Cada invocação do indexador será bem-sucedida se não mais do que cinco itens não forem indexados em cada lote e se não mais do que dez itens não forem indexados no total. Os mapeamentos de campo 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 conjunto de habilidades

Este exemplo demonstra um enriquecimento de IA, indicado pela referência a um conjunto de habilidades e outputFieldMappings que mapeiam saídas de habilidades para campos em um índice de pesquisa. Conjuntos de habilidades são recursos de alto nível, definidos separadamente.

Novo nesta versão prévia e aplicável somente a conjuntos de habilidades, você pode especificar a propriedade de cache para reutilizar documentos que não são afetados por alterações na definição do conjunto de habilidades.

{
  "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 enriquecimento com uma conexão de identidade gerenciada

Este exemplo ilustra o formato cadeia de conexão ao usar o Azure Active Directory para autenticação. O serviço de pesquisa deve ser configurado para usar uma identidade gerenciada. A identidade deve ter permissões de "Colaborador de Dados de Blob de Armazenamento" para que possa ser gravada no cache. O cadeia de conexão é a ID de recurso exclusiva da sua conta de armazenamento e deve incluir o contêiner usado para armazenar o enriquecimento armazenado 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

Link Descrição
Cache Configura o cache para enriquecimento de IA e execução do conjunto de habilidades.
encryptionKey Configura uma conexão com o Azure Key Vault para criptografia gerenciada pelo cliente.
fieldMappings Mapeamentos de campo de origem para destino para campos que não correspondem por nome e tipo.
outputFieldMappings Mapeia nós em um documento enriquecido para campos em um índice. Obrigatório se você estiver usando conjuntos de habilidades.
parameters Configura um indexador. Os parâmetros incluem parâmetros gerais e parâmetros específicos da origem.
schedule Especifica o intervalo e a frequência da execução agendada do indexador.

cache (versão prévia)

A indexação incremental é a capacidade de reutilizar documentos enriquecidos no cache ao processar um conjunto de habilidades. O cenário mais comum é a reutilização do OCR ou da análise de imagem de arquivos de imagem, o que pode ser caro e demorado para 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órios. Especifica a conta de armazenamento usada para armazenar em cache os resultados intermediários. Usando a conta fornecida, o serviço de pesquisa criará um contêiner de blob prefixado com ms-az-search-indexercache e concluído com um GUID exclusivo para o indexador. Ele deve ser definido como um cadeia de conexão de acesso completo que inclua uma chave ou a ID de recurso exclusiva da sua conta de armazenamento para solicitações autenticadas usando Azure AD.

Para autenticar por meio de Azure AD, o serviço de pesquisa deve ser configurado para usar uma identidade gerenciada e essa identidade deve ter a permissão "Colaborador de Dados de Blob de Armazenamento".
enableReprocessing Opcional. Propriedade booliana (true por padrão) para controlar o processamento de documentos de entrada já representados no cache. Quando true (padrão), os documentos que já estão no cache são reprocessados quando você executa novamente o indexador, supondo que sua atualização de habilidade afete esse documento. Quando false, os documentos existentes não são reprocessados, priorizando efetivamente o conteúdo novo e de entrada sobre o conteúdo existente. É necessário somente definir enableReprocessing como false em uma base temporária. 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, sejam válidos de acordo com a definição atual do conjunto de qualificações.
ID Somente leitura. Gerado depois que o cache é criado. O ID é o identificador do contêiner dentro da conta de armazenamento que será usado como o cache para esse indexador. Esse cache será exclusivo para esse indexador e, se o indexador for excluído e recriado com o mesmo nome, o ID será regenerado. O ID não pode ser definido, ele é sempre gerado pelo serviço.

schedule

Um indexador pode, também, especificar uma agenda. Sem um agendamento, o indexador é executado imediatamente quando você envia a solicitação: conectando-se à fonte de dados, rastreando-a e indexando-a. Para alguns cenários, incluindo trabalhos de indexação de execução longa, os agendamentos são usados para estender a janela de processamento além do máximo de 24 horas. Se houver uma agenda, o indexador será executado periodicamente segundo a agenda. O agendador é interno; você não pode usar um agendador externo. Um Agendamento tem os seguintes atributos:

  • interval: obrigatório. Um valor de duração que especifica o intervalo ou período de execução do indexador. O menor intervalo permitido é de cinco minutos; o maior é de um dia. Ele deve ser formatado como um valor XSD de "dayTimeDuration" (um subconjunto restrito de um valor de duração ISO 8601 ). O padrão para isso é: "P[nD][T[nH][nM]]". exemplos: PT15M para cada 15 minutos, PT2H para cada 2 horas.

  • StartTime - opcional. Uma data/hora, no horário UTC, quando o indexador deve começar a ser executado.

Observação

Se um indexador for definido como um determinado agendamento, mas falhar repetidamente no mesmo documento repetidamente, sempre que for executado, o indexador começará a ser executado em um intervalo menos frequente (até o máximo de ao menos uma vez a cada 24 horas) até que ele faça o progresso com êxito novamente. Se acreditar que você corrigiu qualquer problema que estava fazendo com que o indexador fosse paralisado em um determinado ponto, você poderá realizar uma execução do indexador sob demanda e, se tiver com êxito, o indexador retornará ao seu intervalo de agendamento definido novamente.

parameters

Opcionalmente, um indexador pode usar parâmetros de configuração que modificam os comportamentos do runtime. Os parâmetros de configuração são delimitados por vírgula na solicitação 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 Tipo e valores permitidos Uso
"batchSize" Integer
O padrão é específico à fonte (1.000 para o Banco de Dados SQL do Azure e Azure Cosmos DB, 10 para o Armazenamento de Blobs do Azure)
Especifica o número de itens lidos da fonte de dados e indexados como um único lote para melhorar o desempenho.
"maxFailedItems" Integer
O padrão é 0
Número de erros a serem tolerados antes de uma execução de indexador ser considerada uma falha. Defina essa propriedade como -1 se você não deseja que nenhum erro interrompa o processo de indexação. Recupere as informações sobre os itens com falha usando a operação Obter Status do Indexador.
"maxFailedItemsPerBatch" Integer
O padrão é 0
Número de erros a serem tolerados em cada lote antes de uma execução de indexador ser considerada uma falha. Defina essa propriedade como -1 se você não deseja que nenhum erro interrompa o processo de indexação.
"base64EncodeKeys" Boolean
O padrão é verdadeiro
Os valores válidos são nulos, verdadeiros ou falsos. Quando definido como false, o indexador não codificará automaticamente base64 os valores do campo designado como a chave do documento. Definir essa propriedade elimina a necessidade de especificar uma função de mapeamento que codifica valores de chave base64 (como traços) que, de outra forma, não são válidos em uma chave de documento.

Parâmetros de configuração de blob

Vários parâmetros são exclusivos a um indexador específico, como a indexação de blob do Azure.

Parâmetro Tipo e valores permitidos Uso
"parsingMode" String
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Para blobs do Azure, defina essa propriedade como text para melhorar o desempenho da indexação em arquivos de texto sem formatação no Armazenamento de Blobs.
Para blobs CSV, defina essa propriedade como delimitedText quando os blobs forem arquivos CSV sem formatação.
Para blobs JSON, defina json como para extrair conteúdo estruturado ou para jsonArray extrair elementos individuais de uma matriz como documentos separados no Azure AI Search. Use jsonLines para extrair entidades JSON individuais, separadas por uma nova linha, como documentos separados no Azure AI Search.
"excludedFileNameExtensions" String
lista delimitada por vírgula
definido pelo usuário
Para blobs do Azure, ignore os tipos de arquivo na lista. Por exemplo, você pode excluir ".png, .png, .mp4" para ignorar os arquivos durante a indexação.
"indexedFileNameExtensions" String
lista delimitada por vírgula
definido pelo usuário
Para blobs do Azure, seleciona os blobs se a extensão de arquivo está na lista. Por exemplo, você pode enfocar a indexação em arquivos de aplicativo específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de arquivo.
"failOnUnsupportedContentType" Boolean
true
false (padrão)
Para blobs do Azure, defina essa propriedade como false se desejar continuar a indexação quando um tipo de conteúdo não compatível for encontrado e você não conhecer todos os tipos de conteúdo (extensões de arquivo) com antecedência.
"failOnUnprocessableDocument" Boolean
true
false (padrão)
Para blobs do Azure, defina essa propriedade como false se desejar continuar a indexação em caso de falha na indexação de um documento.
"indexStorageMetadataOnly
ForOversizedDocuments"
Booliano verdadeiro
false (padrão)
Para blobs do Azure, defina essa propriedade como true para ainda indexar os metadados de armazenamento para um conteúdo de blob muito grande para ser processado. Por padrão, os blobs superdimensionados são tratados como erros. Para obter limites de tamanho de blob, consulte Limites de serviço.
"delimitedTextHeaders" String
lista delimitada por vírgula
definido pelo usuário
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.
"delimitedTextDelimiter" String
caractere único
definido pelo usuário
Para blobs CSV, especifica o delimitador de fim de linha para arquivos CSV em que cada linha inicia um novo documento (por exemplo, "|").
"firstLineContainsHeaders" Boolean
true (padrã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 usuário
Para matrizes JSON, considerando um documento estruturado ou semiestruturado, você pode especificar um caminho para a matriz usando essa propriedade.
"dataToExtract" String
"storageMetadata"
"allMetadata"
"contentAndMetadata" (padrão)
Para blobs do Azure:
Defina essa propriedade como "storageMetadata" para indexar apenas as propriedades de blob padrão e os metadados especificados pelo usuário.
Defina essa propriedade como "allMetadata" para extrair os metadados fornecidos pelo subsistema de Armazenamento de Blobs do Azure e os metadados específicos ao tipo de conteúdo (por exemplo, metadados exclusivos somente a arquivos .png) são indexados.
Defina essa propriedade como "contentAndMetadata" para extrair todos os metadados e o conteúdo textual de cada blob.

Para análise de imagem no enriquecimento de IA, quando "imageAction" é definido como um valor diferente de "none", a "dataToExtract" configuração informa ao indexador quais dados extrair do conteúdo da imagem. Aplica-se ao conteúdo de imagem incorporada em um .PDF ou outro aplicativo ou a arquivos de imagem, como .jpg e .png, em blobs do Azure.
"imageAction" String
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Para blobs do Azure, defina essa propriedade como "none" para ignorar imagens incorporadas ou arquivos de imagem no conjunto de dados. Esse é o padrão.

Para análise de imagem no enriquecimento de IA, defina"generateNormalizedImages" como para extrair texto de imagens (por exemplo, a palavra "parar" de um sinal de parada de tráfego) e insira-o como parte do campo de conteúdo. Durante a análise de imagem, o indexador cria uma matriz de imagens normalizadas como parte do desbloqueio de documento e insere as informações geradas no campo de conteúdo. Essa ação exige que "dataToExtract" seja definido como "contentAndMetadata". Uma imagem normalizada refere-se ao processamento adicional resultando em uma saída de imagem uniforme, dimensionada e girada para promover uma renderização consistente quando forem incluídas imagens nos resultados da pesquisa visual (por exemplo, fotografias do mesmo tamanho em um controle de grafo, conforme visto na Demonstração sobre JFK). Essas informações são geradas para cada imagem quando você usa essa opção.

Se você definir como "generateNormalizedImagePerPage", os arquivos PDF serão tratados de forma diferente, em vez de extrair imagens inseridas, cada página será renderizada como uma imagem e normalizada de acordo. Os tipos de arquivo não PDF serão tratados da mesma forma que seria se "generateNormalizedImages" tivesse sido definido.

Definir a "imageAction" configuração como qualquer valor diferente "none" de requer que um conjunto de habilidades também seja anexado a esse indexador.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Qualquer inteiro entre 50-10000 A largura ou altura máxima (em pixels), respectivamente, para imagens normalizadas geradas quando um "imageAction" é definido. O padrão é 2000.

O padrão de 2000 pixels para a largura e altura máximas das imagens normalizadas se baseia nos tamanhos máximos compatíveis com a habilidade de OCR e a habilidade de análise de imagem. Habilidades de OCR são compatíveis com a largura e altura máximas de 4.200 para idiomas não inglês e 10.000 para o inglês. Caso aumente os limites máximos, poderá haver uma falha no processamento de imagens maiores, de acordo com a definição do conjunto de habilidades e do idioma dos documentos.
"allowSkillsetToReadFileData" Boolean
true
false (padrão)
Definir o "allowSkillsetToReadFileData" parâmetro como true criará um caminho /document/file_data que é um objeto que representa os dados de arquivo originais baixados da fonte de dados de blob. Isso permite que você passe os dados de arquivo originais para uma habilidade personalizada para processamento dentro do pipeline de enriquecimento ou para a habilidade extração de documentos. O objeto gerado será definido da seguinte maneira: { "$type": "file", "data": "BASE64 encoded string of the file" }

Definir o "allowSkillsetToReadFileData" parâmetro como true requer que um conjunto de habilidades seja anexado a esse indexador, que o "parsingMode" parâmetro seja definido "default"como ou "text""json", e o "dataToExtract" parâmetro seja definido "contentAndMetadata" como ou "allMetadata".
"pdfTextRotationAlgorithm" String
"none" (padrão)
"detectAngles"
Definir o "pdfTextRotationAlgorithm" parâmetro como "detectAngles" pode ajudar a produzir 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 dentro de uma imagem inserida no PDF, esse parâmetro não se aplicará.

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

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

Os parâmetros a seguir são específicos para indexadores do Cosmos DB.

Parâmetro Tipo e valores permitidos Uso
"assumeOrderByHighWaterMarkColumn" Boolean Para indexadores do Cosmos DB com a API do SQL, defina esse parâmetro para fornecer uma dica ao Cosmos DB de que a consulta usada para retornar documentos para indexação é de fato ordenada pela _ts coluna. Definir esse parâmetro fornece melhores resultados para cenários de indexação incremental.

SQL do Azure parâmetros de configuração

Os parâmetros a seguir são específicos para SQL do Azure Banco de Dados.

Parâmetro Tipo e valores permitidos Uso
"queryTimeout" String
"hh:mm:ss"
"00:05:00"
Defina esse parâmetro para substituir o padrão de 5 minutos.
"convertHighWaterMarkToRowVersion" Boolean Defina esse parâmetro como "true" para usar o tipo de dados rowversion para a coluna de marca d'água alta. Quando essa propriedade é definida como true, o indexador subtrai um do valor de rowversion antes da execução do indexador. Isso ocorre porque as exibições com junções um para muitos podem ter linhas com valores de rowversion duplicados. Subtrair um garante que a consulta do indexador não perca essas linhas.
"disableOrderByHighWaterMarkColumn" Boolean Defina esse parâmetro como "true" se você quiser desabilitar o comportamento ORDER BY na consulta usada para detecção de alterações. Se você estiver usando a política de detecção de alteração de marca d'água alta, o indexador usará as cláusulas WHERE e ORDER BY para acompanhar quais linhas precisam de indexação (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Esse parâmetro desabilita o comportamento ORDER BY. A indexação será concluída mais rapidamente, mas a compensação é que, se o indexador for interrompido por qualquer motivo, todo o trabalho do indexador deverá ser repetido na íntegra.

fieldMappings

Crie-os quando os nomes ou tipos de campo de destino de origem não corresponderem ou quando você quiser especificar uma função. Os mapeamentos de campo não diferenciam maiúsculas de minúsculas. Consulte Definir mapeamentos de campo.

Atributo Descrição
sourceFieldName Obrigatórios. Nome da coluna de origem.
targetFieldName Obrigatórios. Nome do campo correspondente no índice de pesquisa.
mappingFunction Opcional. Adiciona o processamento aos valores de origem a caminho do mecanismo de pesquisa. Por exemplo, um valor de cadeia de caracteres arbitrário pode ser codificado em base 64 para que possa ser usado para preencher um campo de chave do 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 habilidade (ou nós em uma árvore de enriquecimento) para campos em um í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 conexão com o Azure Key Vault para CMK (chaves de criptografia gerenciadas pelo cliente) complementares. A criptografia com chaves gerenciadas pelo cliente não está disponível para serviços gratuitos. Para serviços faturáveis, ele só está disponível para serviços de pesquisa criados em ou após 01/01/2019.

Uma conexão com o cofre de chaves deve ser autenticada. Você pode usar "accessCredentials" ou uma identidade gerenciada para essa finalidade.

As identidades gerenciadas podem ser atribuídas pelo sistema ou pelo usuário (versão prévia). Se o serviço de pesquisa tiver uma identidade gerenciada atribuída pelo sistema e uma atribuição de função que conceda acesso de leitura ao cofre de chaves, você poderá omitir "identidade" e "accessCredentials", e a solicitação será autenticada usando a identidade gerenciada do sistema. Se o serviço de pesquisa tiver atribuição de função e identidade atribuída pelo usuário, defina a propriedade "identity" como a ID do recurso dessa identidade.

Atributo Descrição
keyVaultKeyName Obrigatórios. Nome da chave de Key Vault do Azure usada para criptografia.
keyVaultKeyVersion Obrigatórios. Versão da chave de Key Vault do Azure.
keyVaultUri Obrigatórios. URI do Azure Key Vault (também conhecido como nome DNS) que fornece a chave. Um exemplo de URI pode ser https://my-keyvault-name.vault.azure.net
accessCredentials Omita se você estiver usando uma identidade gerenciada. Caso contrário, as propriedades de incluem applicationId (uma ID de accessCredentials Aplicativo do Azure Active Directory que tem permissões de acesso para o Azure Key Vault especificado) e applicationSecret (a chave de autenticação do aplicativo Azure AD especificado).
identidade Opcional, a menos que você esteja usando uma identidade gerenciada atribuída pelo usuário para a conexão do serviço de pesquisa com o Azure Key Vault. O formato é "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]".

Confira também