Compartilhar via


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

aplica-se a: 2023-07-01-Preview. Não há mais suporte para essa versão. Atualizar imediatamente para uma versão mais recente.

Importante

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

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

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

2020-06-30-Preview adiciona:

  • "cache", usado para cache e reutilizar de conteúdo enriquecido criados por um conjunto de habilidades.

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]    

O 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 desejar a execução do indexador.

Criar um indexador adiciona-o 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.

Atualizar um indexador não o executa automaticamente, mas dependendo das 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 diretrizes específicas da plataforma de dados sobre como criar indexadores, comece com visão geral dos Indexadores, que inclui a lista completa de artigos relacionados .

Nota

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 parado Azure AI Search.

Parâmetros de URI

Parâmetro Descrição
nome do serviço Necessário. 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úscula, 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 Necessário. Consulte 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 obrigatórios e opcionais.

Campos Descrição
Tipo de conteúdo Necessário. Defina isso 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 cabeçalho api-key definido como sua chave de administrador (em vez de uma chave de consulta). Consulte Conectar-se ao Azure AI Search usando de autenticação de chave para obter detalhes.

Corpo da Solicitação

Um de fonte de dados, de índice e de conjunto de habilidades fazem parte de uma definição de do indexador , mas cada um é um componente independente que pode ser usado em combinações diferentes. Por exemplo, você pode usar a mesma fonte de dados com vários indexadores ou 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 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.
}  

A solicitação contém as seguintes propriedades:

Propriedade Descrição
nome Necessário. O nome deve ser minúscula, 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 Necessário. Nome de uma fonte de dados existente que fornece informações de conexão e outras propriedades.
targetIndexName Necessário. Nome de um índice existente.
skillsetName Necessário para enriquecimento de IA. Nome de um conjunto de habilidades existente.
de cache Opcional para enriquecimento de IA, permite a reutilização de documentos inalterados.
agendar Opcional, mas é executado uma vez imediatamente, se não especificado.
parâmetros 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 do indexador em repouso com suas próprias chaves, gerenciadas em seu Azure Key Vault. Para saber mais, consulte criptografia do Azure AI Search usando chaves gerenciadas pelo cliente no Azure Key Vault.
desactivado Opcional. Valor booliano que indica se o indexador está desabilitado. False 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 fonte de dados order-sds para o índice orders-idx 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 houver mais de 5 itens que não sejam indexados em cada lote e não mais de 10 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 pelas 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 de 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 do Blob de Armazenamento" para que possa gravar no cache. A 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
de 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.
parâmetros 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 agendada do indexador.

cache (versão prévia)

de 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 Necessário. 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 uma 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 o Azure AD.

Para autenticar por meio do Azure AD, o serviço de pesquisa deve ser configurado para usar uma identidade gerenciadae essa identidade deve ter a permissão "Colaborador de Dados do 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 em relação ao conteúdo existente. Você só deve definir enableReprocessing como false temporariamente. Para garantir a consistência em todo o corpus, enableReprocessing deve ser true na maioria das vezes, garantindo que todos os documentos, novos e existentes, sejam válidos de acordo com a definição atual do conjunto de habilidades.
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, é sempre gerado pelo serviço.

horário

Opcionalmente, um indexador pode especificar um agendamento. Sem um agendamento, o indexador é executado imediatamente quando você envia a solicitação: conectando-se, rastreando e indexando a fonte de dados. Para alguns cenários, incluindo trabalhos de indexação de longa execução, os agendamentos são usados para estender a janela de processamento além do máximo de 24 horas. Se um agendamento estiver presente, o indexador será executado periodicamente de acordo com o agendamento. O agendador é interno; você não pode usar um agendador externo. Um de Agendamento de 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 menor intervalo permitido é de cinco minutos; o mais longo é um dia. Ele deve ser formatado como um valor XSD "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. Um datetime UTC em que o indexador deve começar a ser executado.

Nota

Se um indexador estiver definido como um determinado agendamento, mas falhar repetidamente no mesmo documento várias vezes sempre que ele for executado, o indexador começará a ser executado em um intervalo menos frequente (até o máximo de pelo menos uma vez a cada 24 horas) até que faça o progresso com êxito novamente. Se você acredita ter corrigido o problema que estava fazendo com que o indexador ficasse preso em um determinado ponto, poderá executar uma execução sob demanda do indexador e, se isso fizer progressos com êxito, o indexador retornará ao intervalo de agendamento definido novamente.

Parâmetros

Opcionalmente, um indexador pode adotar parâmetros de configuração que modificam comportamentos de 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 Tipos e valores permitidos Uso
"batchSize" Inteiro
O padrão é específico da origem (1000 para o Banco de Dados SQL do Azure e o 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" Inteiro
O padrão é 0
Número de erros a serem tolerados antes que uma execução do indexador seja considerada uma falha. Defina como -1 se você não quiser que nenhum erro interrompa o processo de indexação. Você pode recuperar informações sobre itens com falha usando Obter status do indexador.
"maxFailedItemsPerBatch" Inteiro
O padrão é 0
Número de erros a serem tolerados em cada lote antes que uma execução do indexador seja considerada uma falha. Defina como -1 se você não quiser que nenhum erro interrompa o processo de indexação.
"base64EncodeKeys" Booleano
O padrão é verdadeiro
Os valores válidos são nulos, verdadeiros ou falsos. Quando definido como false, o indexador não codificará automaticamente a base64 dos 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 (como traços) que não são válidos de outra forma em uma chave de documento.

Parâmetros de configuração de blob

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

Parâmetro Tipos e valores permitidos Uso
"parsingMode" Corda
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Para de blobs do Azure, defina como text para melhorar o desempenho de indexação em arquivos de texto sem formatação no armazenamento de blobs.
Para blobs CSV, defina como delimitedText quando os blobs forem arquivos CSV simples.
Para de blobs JSON, defina como json para extrair conteúdo estruturado ou para jsonArray para 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" Corda
Lista delimitada por vírgulas
definido pelo usuário
Para blobs do Azure, ignore todos os tipos de arquivo na lista. Por exemplo, você pode excluir ".png, .png, .mp4" para ignorar esses arquivos durante a indexação.
"indexedFileNameExtensions" Corda
Lista delimitada por vírgulas
definido pelo usuário
Para blobs do Azure, selecione blobs se a extensão de arquivo estiver na lista. Por exemplo, você pode focar a indexação em arquivos de aplicativo específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de arquivo.
"failOnUnsupportedContentType" Booleano
verdadeiro
false (padrão)
Para blobs do Azure, defina como false se 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.
"failOnUnprocessableDocument" Booleano
verdadeiro
false (padrão)
Para de blobs do Azure, defina como false se quiser continuar indexando se um documento falhar na indexação.
"indexStorageMetadataOnly
ForOversizedDocuments"
Booliano verdadeiro
false (padrão)
Para de blobs do Azure, defina essa propriedade como true para ainda indexar metadados de armazenamento para conteúdo de blob que é muito grande para processar. Blobs superdimensionados são tratados como erros por padrão. Para obter limites no tamanho do blob, consultelimites de serviço .
"delimitedTextHeaders" Corda
Lista delimitada por vírgulas
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" Corda
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" Booleano
true (padrão)
falso
Para blobs CSV, indica que a primeira linha (não em branco) de cada blob contém cabeçalhos.
"documentRoot" Corda
caminho definido pelo usuário
Para matrizes JSON, dado um documento estruturado ou semiestruturado, você pode especificar um caminho para a matriz usando essa propriedade.
"dataToExtract" Corda
"storageMetadata"
"allMetadata"
"contentAndMetadata" (padrão)
Para blobs do Azure:
Defina como "storageMetadata" indexar apenas as propriedades de blob padrão e os metadados especificados pelo usuário.
Definido como para extrair metadados fornecidos pelo subsistema de armazenamento de blobs do Azure e os de metadados específicos do tipo de conteúdo (por exemplo, metadados exclusivos para apenas arquivos .png) são indexados.
Defina como "contentAndMetadata" para extrair todos os metadados e conteúdo textual de cada blob.

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

Para análise de imagem emde enriquecimento de IA, defina como"generateNormalizedImages" 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 da quebra de documento e insere as informações geradas 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 em resultados de pesquisa visual (por exemplo, fotografias do mesmo tamanho em um controle de grafo, como visto na demonstração 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. Tipos de arquivo não PDF serão tratados da mesma forma que se "generateNormalizedImages" foi definido.

Definir a configuração de "imageAction" para qualquer valor diferente de "none" requer que um conjunto de habilidades também ser 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 2.000 pixels para a largura e a altura máximas de imagens normalizadas baseia-se nos tamanhos máximos suportados pelo de habilidade de OCR e a habilidade de análise de imagem . O de habilidade de OCR dá suporte a uma largura e altura máximas de 4200 para idiomas que não são inglês e 10000 para inglês. Se você aumentar os limites máximos, o processamento poderá falhar em imagens maiores dependendo da definição do conjunto de habilidades e do idioma dos documentos.
"allowSkillsetToReadFileData" Booleano
verdadeiro
false (padrão)
Definir o parâmetro "allowSkillsetToReadFileData" como 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 de habilidades personalizadas para processamento dentro do pipeline de enriquecimento ou para ode habilidade de Extração de Documentos . O objeto gerado será definido da seguinte maneira: { "$type": "file", "data": "BASE64 encoded string of the file" }

Definir o parâmetro "allowSkillsetToReadFileData" para true requer que um conjunto de habilidades seja anexado a esse indexador, que o parâmetro "parsingMode" esteja definido como "default", "text" ou "json"e o parâmetro "dataToExtract" esteja definido como "contentAndMetadata" ou "allMetadata".
"pdfTextRotationAlgorithm" Corda
"none" (padrão)
"detectAngles"
Definir o parâmetro "pdfTextRotationAlgorithm" como "detectAngles" pode ajudar a produzir extração de texto melhor e mais legível de arquivos PDF que têm texto girado 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á.

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

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 Tipos e valores permitidos Uso
"assumeOrderByHighWaterMarkColumn" Booleano Para indexadores do Cosmos DB comde 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 coluna _ts. Definir esse parâmetro oferece melhores resultados para cenários de indexação incremental.

Parâmetros de configuração do SQL do Azure

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

Parâmetro Tipos e valores permitidos Uso
"queryTimeout" Corda
"hh:mm:ss"
"00:05:00"
Defina esse parâmetro para substituir o padrão de 5 minutos.
"convertHighWaterMarkToRowVersion" Booleano Defina esse parâmetro como "true" para usar o tipo de dados rowversion para a coluna de marca de água alta. Quando essa propriedade é definida como true, o indexador subtrai um do valor de rowversion antes da execução do indexador. Ele faz isso porque exibições com junções um para muitos podem ter linhas com valores duplicados de rowversion. Subtrair uma garante que a consulta do indexador não perca essas linhas.
"disableOrderByHighWaterMarkColumn" Booleano 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á 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. Mapeamentos de campo não diferenciam maiúsculas de minúsculas. Consulte Definir mapeamentos de campo.

Atributo Descrição
sourceFieldName Necessário. Nome da coluna de origem.
targetFieldName Necessário. 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 base64 para que possa ser usado 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 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 2019-01-01.

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 pelo 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 Necessário. Nome da chave do Azure Key Vault usada para criptografia.
keyVaultKeyVersion Necessário. Versão da chave do Azure Key Vault.
keyVaultUri Necessá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 Omita se você estiver usando uma identidade gerenciada. Caso contrário, as propriedades de accessCredentials incluem applicationId (uma ID de Aplicativo do Azure Active Directory que tem permissões de acesso ao Azure Key Vault especificado) e applicationSecret (a chave de autenticação do aplicativo do 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]".

Consulte também