Criar indexador (API REST do Azure Pesquisa Cognitiva)Create Indexer (Azure Cognitive Search REST API)

Um indexador automatiza a indexação de fontes de dados do Azure com suporte, como o armazenamento do Azure, o Azure SQL Database e o Azure Cosmos DB para citar alguns.An indexer automates indexing from supported Azure data sources such as Azure Storage, Azure SQL Database, and Azure Cosmos DB to name a few. Os indexadores usam uma fonte de dados predefinida e um índice para estabelecer um pipeline de indexação que extrai e serializa os dados de origem, passando-os para um serviço de pesquisa para a ingestão de dados.Indexers use a predefined data source and index to establish an indexing pipeline that extracts and serializes source data, passing it to a search service for data ingestion. Para a enriquecimento de ia de imagem e texto não estruturado, os indexadores também podem aceitar um qualificable que define o processamento de ia.For AI enrichment of image and unstructured text, indexers can also accept a skillset that defines AI processing.

A criação de um indexador o adiciona ao serviço de pesquisa e o executa.Creating an indexer adds it to your search service and runs it. Se a solicitação for bem-sucedida, o índice será preenchido com conteúdo pesquisável da fonte de dados.If the request is successful, the index will be populated with searchable content from the data source.

Você pode usar POST ou PUT na solicitação.You can use either POST or PUT on the request. Para qualquer um, o documento JSON no corpo da solicitação fornece a definição do objeto.For either one, the JSON document in the request body provides the object definition.

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

Como alternativa, você pode usar PUT e especificar o nome do indexador no URI.Alternatively, you can use PUT and specify the indexer name on the 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.HTTPS is required for all service requests. Se o indexador não existir, ele será criado.If the indexer doesn't exist, it is created. Se ele já existir, ele será atualizado para a nova definição, mas você deverá emitir uma solicitação de execução do indexador se desejar a execução do indexador.If it already exists, it is updated to the new definition but you must issue a Run Indexer request if you want indexer execution.

A configuração do indexador varia de acordo com o tipo de fonte de dados.Indexer configuration varies based on the type of data source. 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.For data-platform-specific guidance on creating indexers, start with Indexers overview, which includes the complete list of related articles.

Parâmetros de URIURI Parameters

ParâmetroParameter DescriçãoDescription
nome do serviçoservice name Obrigatório.Required. Defina isso para o nome exclusivo definido pelo usuário do seu serviço de pesquisa.Set this to the unique, user-defined name of your search service.
nome do indexadorindexer name Necessário no URI, se estiver usando PUT.Required on the URI if using PUT. O nome deve estar em letras minúsculas, começar com uma letra ou número, não ter barras ou pontos e ter menos de 128 caracteres.The name must be lower case, start with a letter or number, have no slashes or dots, and be less than 128 characters. 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.After starting the name with a letter or number, the rest of the name can include any letter, number and dashes, as long as the dashes are not consecutive.
api-versionapi-version Obrigatório.Required. A versão atual é api-version=2020-06-30.The current version is api-version=2020-06-30. Consulte versões de API no Azure pesquisa cognitiva para obter uma lista de versões disponíveis.See API versions in Azure Cognitive Search for a list of available versions.

Cabeçalhos de solicitaçãoRequest Headers

A tabela a seguir descreve os cabeçalhos de solicitação necessários e opcionaisThe following table describes the required and optional request headers.

CamposFields DescriçãoDescription
Tipo de conteúdoContent-Type Obrigatório.Required. Defina-o como application/jsonSet this to application/json
chave de APIapi-key Obrigatório.Required. A api-key é usada para autenticar a solicitação para o serviço Search.The api-key is used to authenticate the request to your Search service. É um valor de cadeia de caracteres exclusivo de seu serviço.It is a string value, unique to your service. Solicitações de criação devem incluir um api-key cabeçalho definido para sua chave de administração (em oposição a uma chave de consulta).Create requests must include an api-key header set to your admin key (as opposed to a query key).

Você pode obter o api-key do seu painel de serviço no portal do Azure.You can get the api-key from your service dashboard in the Azure portal. Para obter mais informações, consulte Localizar chaves existentes.For more information, see Find existing keys.

Corpo da solicitaçãoRequest Body

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.A data source, index, and skillset are part of an indexer definition, but each is an independent component that can be used in different combinations. 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.For example, you could use the same data source with multiple indexers, or the same index with multiple indexers, or multiple indexers writing to a single index.

O JSON a seguir é uma representação de alto nível das partes principais da definição.The following JSON is a high-level representation of the main parts of the definition.

{   
    "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",
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters" : (optional) { ... },  
    "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:Request contains the following properties:

PropriedadeProperty DescriçãoDescription
namename Obrigatório.Required. O nome deve estar em letras minúsculas, começar com uma letra ou número, não ter barras ou pontos e ter menos de 128 caracteres.The name must be lower case, start with a letter or number, have no slashes or dots, and be less than 128 characters. 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.After starting the name with a letter or number, the rest of the name can include any letter, number and dashes, as long as the dashes are not consecutive.
dataSourceNamedataSourceName Obrigatório.Required. Nome de uma fonte de dadosexistente.Name of an existing data source. Ele geralmente inclui propriedades que um indexador pode usar para explorar as características da plataforma de origem.It often includes properties that an indexer can use to exploit source platform characteristics. Como tal, a fonte de dados que você passa para o indexador determina a disponibilidade de determinadas propriedades e parâmetros, tal filtragem de tipo de conteúdo em BLOBs do Azure.As such, the data source you pass to the indexer determines the availability of certain properties and parameters, such content type filtering in Azure blobs. ou tempo limite de consulta para o banco de dados SQL do Azure.or query timeout for Azure SQL Database.
targetIndexNametargetIndexName Obrigatório.Required. Nome de um esquema de índiceexistente.Name of an existing index schema. Ele define a coleção Fields que contém as atribuições pesquisáveis, filtráveis, recuperáveis e outras que determinam como o campo é usado.It defines the fields collection containing searchable, filterable, retrievable, and other attributions that determine how the field is used. Durante a indexação, o indexador rastreia a fonte de dados, opcionalmente, desbloqueia documentos e extrai informações, serializa os resultados como JSON e indexa o conteúdo com base no esquema definido para o índice.During indexing, the indexer crawls the data source, optionally cracks documents and extracts information, serializes the results to JSON, and indexes the payload based on the schema defined for your index.
skillsetNameskillsetName Necessário para o enriquecimento do ia.Required for AI enrichment. Nome de um qualificableexistente, um por indexador.Name of an existing skillset, one per indexer. Assim como acontece com fontes de dados e índices, um contratador é uma definição independente que você anexa a um indexador.As with data sources and indexes, a skillset is an independent definition that you attach to an indexer. Você pode realocar um conjunto de habilidades com outros indexadores, mas cada indexador só pode usar um conjunto de habilidades por vez.You can repurpose a skillset with other indexers, but each indexer can only use one skillset at a time.
scheduleschedule Opcional, mas é executado imediatamente se não for especificado e não estiver desabilitado.Optional, but runs once immediately if unspecified and not disabled. Uma agenda contém interval (obrigatório) e startTime (opcional).A schedule contains interval (required) and startTime (optional). Para obter mais informações, consulte agendar um indexador.For more information, see Schedule an indexer.

interval Especifica com que frequência o indexador é executado.interval specifies how often the indexer runs. O menor intervalo permitido é de cinco minutos; o maior é de um dia.The smallest allowed interval is five minutes; the longest is one day. Ele deve ser formatado como um valor XSD de "dayTimeDuration" (um subconjunto restrito de um valor de duração ISO 8601 ).It must be formatted as an XSD "dayTimeDuration" value (a restricted subset of an ISO 8601 duration value). O padrão para isso é: "P[nD][T[nH][nM]]". Exemplos: PT15Mpara cada 15 minutos, PT2H para cada 2 horas.The pattern for this is: "P[nD][T[nH][nM]]". Examples: PT15M for every 15 minutes, PT2H for every 2 hours.

startTime é um DateTime UTC quando o indexador deve começar a ser executado.startTime is a UTC datetime when the indexer should start running.
parametersparameters Opcional.Optional. Propriedades para modificar o comportamento do tempo de execução.Properties for modifying runtime behavior.

"batchSize" (inteiro)."batchSize" (integer). Especifica o número de itens lidos da fonte de dados e indexados como um único lote para melhorar o desempenho.Specifies the number of items that are read from the data source and indexed as a single batch in order to improve performance. O padrão é específico de origem (1000 para o banco de dados SQL do Azure e Azure Cosmos DB, 10 para o armazenamento de BLOBs do Azure).Default is source-specific (1000 for Azure SQL Database and Azure Cosmos DB, 10 for Azure Blob Storage).

"maxFailedItems" (inteiro)."maxFailedItems" (integer). Especifica o número de erros a tolerar antes de uma execução de indexador ser considerada uma falha.Specifies the number of errors to tolerate before an indexer run is considered a failure. O padrão é 0.Default is 0. Defina essa propriedade como -1 se você não deseja que nenhum erro interrompa o processo de indexação.Set to -1 if you don’t want any errors to stop the indexing process. Use obter status do indexador para recuperar informações sobre documentos com falha.Use Get Indexer Status to retrieve information about failed documents.

"maxFailedItemsPerBatch" (inteiro)."maxFailedItemsPerBatch" (integer). Especifica o número de erros a tolerar em cada lote antes que uma execução de indexador seja considerada uma falha.Specifies the number of errors to tolerate in each batch before an indexer run is considered a failure. O padrão é 0.Default is 0. Defina essa propriedade como -1 se você não deseja que nenhum erro interrompa o processo de indexação.Set to -1 if you don’t want any errors to stop the indexing process.

"executionEnvironment" (cadeia de caracteres)."executionEnvironment" (string). Substitui o ambiente de execução escolhido por processos internos do sistema.Overrides the execution environment chosen by internal system processes. Definir explicitamente o ambiente de execução como Private será necessário se os indexadores estiverem acessando recursos externos em conexões de ponto de extremidade privadas.Explicitly setting the execution environment to Private is required if indexers are accessing external resources over private endpoint connections. Para a ingestão de dados, essa configuração é válida somente para serviços que são provisionados como Basic ou Standard (S1, S2, S3).For data ingestion, this setting is valid only for services that are provisioned as Basic or Standard (S1, S2, S3). Para o processamento de conteúdo de enriquecimento de ia, essa configuração é válida somente para S2 e S3.For AI enrichment content processing, this setting is valid for S2 and S3 only. Essa configuração está localizada na "configuration" seção.This setting is located in the "configuration" section. Os valores válidos não diferenciam maiúsculas de minúsculas e consistem em [nulo ou não especificado], Standard (padrão) ou Private .Valid values are case-insensitive and consist of [null or unspecified], Standard (default), or Private.
fieldMappingsfieldMappings Opcional.Optional. Associa explicitamente um campo de origem a um campo de destino no índice de pesquisa.Explicitly associates a source field to a destination field in search index. Usado quando os campos de origem e de destino têm nomes ou tipos diferentes, ou quando você deseja especificar uma função.Used when source and destination fields have different names or types, or when you want to specify a function. Uma fieldMappings seção inclui sourceFieldName (obrigatório, um campo na fonte de dados subjacente), targetFieldName (obrigatório, um campo em um índice) e um opcional mappingFunction para a saída de codificação.A fieldMappings section includes sourceFieldName (required, a field in the underlying data source), targetFieldName (required, a field in an index), and an optional mappingFunction for encoding output. Uma lista de funções e exemplos com suporte pode ser encontrada em funções de mapeamento de campo.A list of supported functions and examples can be found at field mapping functions. Para obter mais informações gerais, consulte mapeamentos de campo e transformações.For more general information, see Field mappings and transformations.
outputFieldMappingsoutputFieldMappings Necessário para um pipeline de enriquecimento.Required for an enrichment pipeline. Mapeia a saída de um conferente para um índice ou projeção.Maps output from a skillset to an index or projection. Uma outputFieldMappings seção inclui sourceFieldName (obrigatório, um nó em uma árvore de enriquecimento), targetFieldName (obrigatório, um campo em um índice) e um opcional mappingFunction para a saída de codificação.An outputFieldMappings section includes sourceFieldName (required, a node in an enrichment tree), targetFieldName (required, a field in an index), and an optional mappingFunction for encoding output. Uma lista de funções e exemplos com suporte pode ser encontrada em funções de mapeamento de campo.A list of supported functions and examples can be found at field mapping functions. Para obter mais informações gerais, consulte como mapear os campos de saída de um degrau de habilidade.For more general information, see How to map output fields from a skillset.
encryptionKeyencryptionKey Opcional.Optional. Usado para criptografar uma definição de indexador em repouso com suas próprias chaves, gerenciadas em seu Azure Key Vault.Used to encrypt an indexer definition at rest with your own keys, managed in your Azure Key Vault. Disponível para serviços de pesquisa cobráveis criados em ou depois de 2019-01-01.Available for billable search services created on or after 2019-01-01.

Uma encryptionKey seção contém um definido pelo usuário keyVaultKeyName (obrigatório), um gerado pelo sistema keyVaultKeyVersion (obrigatório) e um keyVaultUri fornecendo a chave (obrigatória, também conhecida como nome DNS).An encryptionKey section contains a user-defined keyVaultKeyName (required), a system-generated keyVaultKeyVersion (required), and a keyVaultUri providing the key (required, also referred to as DNS name). Um URI de exemplo pode ser " https://my-keyvault-name.vault.azure.net ".An example URI might be "https://my-keyvault-name.vault.azure.net".

Opcionalmente, você pode especificar accessCredentials se não estiver usando uma identidade do sistema gerenciado.Optionally, you can specify accessCredentials if you are not using a managed system identity. As propriedades de accessCredentials include applicationId (Azure Active Directory ID do aplicativo que recebeu permissões de acesso para o Azure Key Vault especificado) e applicationSecret (chave de autenticação do aplicativo do Azure ad especificado).Properties of accessCredentials include applicationId (Azure Active Directory Application ID that was granted access permissions to your specified Azure Key Vault), and applicationSecret (authentication key of the specified Azure AD application). Um exemplo na próxima seção ilustra a sintaxe.An example in the next section illustrates the syntax.
desabilitadodisabled Opcional.Optional. Valor booliano que indica se o indexador está desabilitado.Boolean value indicating whether the indexer is disabled. Defina essa propriedade se você quiser criar uma definição de indexador sem executá-la imediatamente.Set this property if you want to create an indexer definition without immediately running it. Falso por padrão.False by default.

Parâmetros de configuração de blobBlob configuration parameters

Vários parâmetros são exclusivos a um indexador específico, como a indexação de blob do Azure.Several parameters are exclusive to a particular indexer, such as Azure blob indexing.

ParâmetroParameter Tipo e valores permitidosType and allowed values UsoUsage
"parsingMode" StringString
"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.For Azure blobs, set to text to improve indexing performance on plain text files in blob storage.
Para blobs CSV, defina essa propriedade como delimitedText quando os blobs forem arquivos CSV sem formatação.For CSV blobs, set to delimitedText when blobs are plain CSV files.
Para BLOBs JSON, defina como json para extrair o conteúdo estruturado ou para jsonArray extrair elementos individuais de uma matriz como documentos separados no pesquisa cognitiva do Azure.For JSON blobs, set to json to extract structured content or to jsonArray to extract individual elements of an array as separate documents in Azure Cognitive Search. Use jsonLines para extrair entidades JSON individuais, separadas por uma nova linha, como documentos separados no Azure pesquisa cognitiva.Use jsonLines to extract individual JSON entities, separated by a new line, as separate documents in Azure Cognitive Search.
"excludedFileNameExtensions" StringString
lista delimitada por vírgulacomma-delimited list
definido pelo usuáriouser-defined
Para blobs do Azure, ignore os tipos de arquivo na lista.For Azure blobs, ignore any file types in the list. Por exemplo, você pode excluir ".png, .png, .mp4" para ignorar os arquivos durante a indexação.For example, you could exclude ".png, .png, .mp4" to skip over those files during indexing.
"indexedFileNameExtensions" StringString
lista delimitada por vírgulacomma-delimited list
definido pelo usuáriouser-defined
Para blobs do Azure, seleciona os blobs se a extensão de arquivo está na lista.For Azure blobs, selects blobs if the file extension is in the list. Por exemplo, você pode enfocar a indexação em arquivos de aplicativo específicos ".docx, .pptx, .msg" para incluir especificamente esses tipos de arquivo.For example, you could focus indexing on specific application files ".docx, .pptx, .msg" to specifically include those file types.
"failOnUnsupportedContentType" BooleanBoolean
truetrue
false (padrão)false (default)
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.For Azure blobs, set to false if you want to continue indexing when an unsupported content type is encountered, and you don't know all the content types (file extensions) in advance.
"failOnUnprocessableDocument" BooleanBoolean
truetrue
false (padrão)false (default)
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.For Azure blobs, set to false if you want to continue indexing if a document fails indexing.
"indexStorageMetadataOnly
ForOversizedDocuments"
Booliano trueBoolean true
false (padrão)false (default)
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.For Azure blobs, set this property to true to still index storage metadata for blob content that is too large to process. Por padrão, os blobs superdimensionados são tratados como erros.Oversized blobs are treated as errors by default. Para obter os limites do tamanho do blob, confira Limites de serviço.For limits on blob size, see Service Limits.
"delimitedTextHeaders" StringString
lista delimitada por vírgulacomma-delimited list
definido pelo usuáriouser-defined
Para blobs de 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.For CSV blobs, specifies a comma-delimited list of column headers, useful for mapping source fields to destination fields in an index.
"delimitedTextDelimiter" StringString
caractere únicosingle character
definido pelo usuáriouser-defined
Para blobs de CSV, especifica o delimitador de fim de linha para arquivos CSV, onde cada linha inicia um novo documento (por exemplo, "|" ).For CSV blobs, specifies the end-of-line delimiter for CSV files where each line starts a new document (for example, "|").
"firstLineContainsHeaders" BooleanBoolean
true (padrão)true (default)
falsefalse
Para BLOBs CSV, indica que a primeira linha (não em branco) de cada blob contém cabeçalhos.For CSV blobs, indicates that the first (non-blank) line of each blob contains headers.
"documentRoot" StringString
caminho definido pelo usuáriouser-defined path
Para matrizes JSON, dadas um documento estruturado ou semiestruturado, você pode especificar um caminho para a matriz usando essa propriedade.For JSON arrays, given a structured or semi-structured document, you can specify a path to the array using this property.
"dataToExtract" StringString
"storageMetadata"
"allMetadata"
"contentAndMetadata" (padrão)"contentAndMetadata" (default)
Para blobs do Azure:For Azure blobs:
Defina essa propriedade como "storageMetadata" para indexar apenas as propriedades de blob padrão e os metadados especificados pelo usuário.Set to "storageMetadata" to index just the standard blob properties and user-specified metadata.
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.Set to "allMetadata" to extract metadata provided by the Azure blob storage subsystem and the content-type specific metadata (for example, metadata unique to just .png files) are indexed.
Defina essa propriedade como "contentAndMetadata" para extrair todos os metadados e o conteúdo textual de cada blob.Set to "contentAndMetadata" to extract all metadata and textual content from each blob.

Para análise de imagem no enriquecimento de ia, quando "imageAction" é definido com um valor diferente de "none" , a "dataToExtract" configuração informa ao indexador quais dados extrair do conteúdo da imagem.For image-analysis in AI enrichment, when "imageAction" is set to a value other than "none", the "dataToExtract" setting tells the indexer which data to extract from image content. 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.Applies to embedded image content in a .PDF or other application, or image files such as .jpg and .png, in Azure blobs.
"imageAction" StringString
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Para blobs do Azure, defina essa propriedade como "none" para ignorar imagens incorporadas ou arquivos de imagem no conjunto de dados.For Azure blobs, set to"none" to ignore embedded images or image files in the data set. Este é o padrão.This is the default.

Para análise de imagem no 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 inseri-la como parte do campo de conteúdo.For image-analysis in AI enrichment, set to"generateNormalizedImages" to extract text from images (for example, the word "stop" from a traffic Stop sign), and embed it as part of the content field. 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.During image analysis, the indexer creates an array of normalized images as part of document cracking, and embeds the generated information into the content field. Essa ação exige que "dataToExtract" seja definido como "contentAndMetadata".This action requires that "dataToExtract" is set to "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).A normalized image refers to additional processing resulting in uniform image output, sized and rotated to promote consistent rendering when you include images in visual search results (for example, same-size photographs in a graph control as seen in the JFK demo). Essas informações são geradas para cada imagem quando você usa essa opção.This information is generated for each image when you use this option.

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 adequadamente.If you set to "generateNormalizedImagePerPage", PDF files will be treated differently in that instead of extracting embedded images, each page will be rendered as an image and normalized accordingly. Os tipos de arquivo não PDF serão tratados da mesma forma que se "generateNormalizedImages" foi definido.Non-PDF file types will be treated the same as if "generateNormalizedImages" was set.

Definir a "imageAction" configuração para qualquer valor diferente de "none" requer que um qualificar também seja anexado a esse indexador.Setting the "imageAction" configuration to any value other than "none" requires that a skillset also be attached to that indexer.
"allowSkillsetToReadFileData" BooleanBoolean
truetrue
false (padrão)false (default)
Definir o "allowSkillsetToReadFileData" parâmetro como true criará um caminho /document/file_data que é um objeto que representa os dados do arquivo original baixados da fonte de dados do blob.Setting the "allowSkillsetToReadFileData" parameter to true will create a path /document/file_data that is an object representing the original file data downloaded from your blob data source. Isso permite que você passe os dados do arquivo original para uma habilidade personalizada para processamento dentro do pipeline de enriquecimento ou para a habilidade de extração de documentos.This allows you to pass the original file data to a custom skill for processing within the enrichment pipeline, or to the Document Extraction skill. O objeto gerado será definido da seguinte maneira: { "$type": "file", "data": "BASE64 encoded string of the file" }The object generated will be defined as follows: { "$type": "file", "data": "BASE64 encoded string of the file" }

Definir o "allowSkillsetToReadFileData" parâmetro como true requer que um conjunto de qualificações seja anexado a esse indexador e que o "parsingMode" parâmetro seja definido como "default" , "text" ou "json" .Setting the "allowSkillsetToReadFileData" parameter to true requires that a skillset be attached to that indexer and that the "parsingMode" parameter is set to "default", "text" or "json".
"pdfTextRotationAlgorithm" StringString
"none" (padrão)"none" (default)
"detectAngles"
Definir o "pdfTextRotationAlgorithm" parâmetro como "detectAngles" pode ajudar a produzir uma extração de texto melhor e legível de arquivos PDF com texto girado dentro deles.Setting the "pdfTextRotationAlgorithm" parameter to "detectAngles" may help produce better and more readable text extraction from PDF files that have rotated text within them. Observe que pode haver um pequeno impacto na velocidade de desempenho quando esse parâmetro é usado.Note that there may be a small performance speed impact when this parameter is used. Esse parâmetro só se aplica a arquivos PDF e somente a PDFs com texto inserido.This parameter only applies to PDF files, and only to PDFs with embedded text. Se o texto girado aparecer dentro de uma imagem inserida no PDF, esse parâmetro não se aplicará.If the rotated text appears within an embedded image in the PDF, this parameter does not apply.

Definir o "pdfTextRotationAlgorithm" parâmetro como "detectAngles" requer que o "parsingMode" parâmetro seja definido como "default" .Setting the "pdfTextRotationAlgorithm" parameter to "detectAngles" requires that the "parsingMode" parameter is set to "default".

Parâmetros de configuração do SQL do AzureAzure SQL configuration parameters

Os parâmetros a seguir são específicos ao Banco de Dados SQL do Azure.The following parameters are specific to Azure SQL Database.

ParâmetroParameter Tipo e valores permitidosType and allowed values UsoUsage
"queryTimeout" StringString
"hh:mm:ss""hh:mm:ss"
"00:05:00""00:05:00"
Para o Banco de Dados SQL do Azure, defina esse parâmetro para aumentar o tempo limite além do padrão de 5 minutos.For Azure SQL Database, set this parameter to increase the timeout beyond the 5-minute default.

RespostaResponse

201 Criado para uma solicitação bem-sucedida.201 Created for a successful request.

ExemplosExamples

Exemplo: indexador com parâmetros de agendamento e genéricosExample: Indexer with schedule and generic parameters

Cria um indexador que copia dados da tabela referenciada pela ordersds fonte de dados para o orders índice em um agendamento que começa em 1º de janeiro de 2021 UTC e é executado por hora.Creates an indexer that copies data from the table referenced by the ordersds data source to the orders index on a schedule that starts on Jan 1, 2021 UTC and runs hourly. 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.Each indexer invocation will be successful if no more than 5 items fail to be indexed in each batch, and no more than 10 items fail to be indexed in total.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "ordersds",  
    "targetIndexName" : "orders",  
    "schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

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 pelo menos uma vez a cada 24 horas) até que ele faça o progresso com êxito novamente.If an indexer is set to a certain schedule but repeatedly fails on the same document over and over again each time it runs, the indexer will begin running on a less frequent interval (up to the maximum of at least once every 24 hours) until it successfully makes progress again. Se você acreditar que corrigiu qualquer problema que estava fazendo com que o indexador fosse paralisado em um determinado ponto, poderá executar uma redefinição, seguida por uma execução sob demanda, do indexador e, se isso fizer isso com êxito, o indexador retornará ao seu intervalo de agendamento definido novamente.If you believe you have fixed whatever the issue that was causing the indexer to be stuck at a certain point, you can perform a reset, followed by an on-demand run, of the indexer, and if that successfully makes progress, the indexer will return to its set schedule interval again.

Exemplo: indexador com parâmetros de BLOBExample: Indexer with blob parameters

Opcionalmente, um indexador pode usar parâmetros de configuração que modificam os comportamentos do runtime.An indexer can optionally take configuration parameters that modify runtime behaviors. Os parâmetros de configuração são delimitados por vírgula na solicitação do indexador e são específicos para um tipo de fonte de dados.Configuration parameters are comma-delimited on the indexer request and are specific to a data source type. Os parâmetros de configuração a seguir fornecem instruções usadas para indexar BLOBs.The following configuration parameters provide instructions used to index blobs.

  {
    "name" : "my-blob-indexer-for-cognitive-search",
    ... other indexer properties
    "parameters" : 
      { 
      "maxFailedItems" : "15", 
      "batchSize" : "100", 
      "configuration" : 
          { 
          "parsingMode" : "json", 
          "indexedFileNameExtensions" : ".json, .jpg, .png",
          "imageAction" : "generateNormalizedImages",
          "dataToExtract" : "contentAndMetadata" ,
          "executionEnvironment": "Standard"
          } 
      }
  }

Exemplo: indexador com mapeamentos de campoExample: Indexer with field mappings

Mapeie o campo de uma tabela de origem _id para um campo "ID" em um índice de pesquisa.Map a source table's field _id to an "id" field in a search index. O Pesquisa Cognitiva do Azure não permite que um nome de campo comece com um sublinhado.Azure Cognitive Search doesn't allow a field name to start with an underscore. Um mapeamento de campo pode resolver discrepâncias de nomes.A field mapping can resolve name discrepancies. Nomes de campos de origem e destino diferenciam maiúsculas de minúsculas.Both source and target field names are case-insensitive. Para obter mais informações, consulte mapeamentos de campo e transformações.For more information, see Field mappings and transformations.

"fieldMappings" : [
    { "sourceFieldName" : "_id", "targetFieldName" : "id" },
    { "sourceFieldName" : "_timestamp", "targetFieldName" : "timestamp" }
]

Exemplo: indexador com enriquecimento de iaExample: Indexer with AI enrichment

Demonstra um enriquecimento de ia, indicado pela referência a um skillset e outputFieldMappings .Demonstrates an AI enrichment, indicated by the reference to a skillset and outputFieldMappings. Conjuntos de habilidades são recursos de alto nível, definidos separadamente.Skillsets are high-level resources, defined separately. Este exemplo é uma abreviação da definição do indexador no tutorial de enriquecimento do ia.This example is an abbreviation of the indexer definition in the AI enrichment tutorial.

{
  "name":"demoindexer", 
  "dataSourceName" : "demodata",
  "targetIndexName" : "demoindex",
  "skillsetName" : "demoskillset",
  "fieldMappings" : [
    {
        "sourceFieldName" : "content",
        "targetFieldName" : "content"
    }
   ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
    "maxFailedItems":-1,
    "configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

Exemplo: indexador com habilidades e mapeamentos de campo de saídaExample: Indexer with skillset and output field mappings

Nos cenários de enriquecimento de ia em que um contenção de habilidades está associado a um indexador, você deve adicionar outputFieldMappings para associar qualquer saída de uma etapa de enriquecimento que forneça conteúdo a um campo pesquisável no índice.In AI enrichment scenarios in which a skillset is bound to an indexer, you must add outputFieldMappings to associate any output of an enrichment step that provides content to a searchable field in the index. O sourceFieldName é um nó em uma árvore de enriquecimento.The sourceFieldName is a node in an enrichment tree. Pode ser uma estrutura composta criada durante o enriquecimento de dois campos separados no documento de origem.It might be a compound structure built during enrichment from two separate fields in the source document. O targetFieldName é um campo em um índice de pesquisa.The targetFieldName is a field in a search index. Para obter mais informações, consulte como mapear campos de saída de um degrau de habilidade.For more information, see How to map output fields from a skillset.

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

Exemplo: chaves de criptografiaExample: Encryption keys

Chaves de criptografia são chaves gerenciadas pelo cliente usadas para criptografia adicional.Encryption keys are customer-managed keys used for additional encryption. Para obter mais informações, consulte criptografia usando chaves gerenciadas pelo cliente no Azure Key Vault.For more information, see Encryption using customer-managed keys in Azure Key Vault.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "ordersds",  
    "targetIndexName" : "orders",  
    "schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 },
    "encryptionKey": (optional) { 
      "keyVaultKeyName": "Name of the Azure Key Vault key used for encryption",
      "keyVaultKeyVersion": "Version of the Azure Key Vault key",
      "keyVaultUri": "URI of Azure Key Vault, also referred to as DNS name, that provides the key. An example URI might be https://my-keyvault-name.vault.azure.net",
      "accessCredentials": (optional, only if not using managed system identity) {
        "applicationId": "Azure Active Directory Application ID that was granted access permissions to your specified Azure Key Vault",
        "applicationSecret": "Authentication key of the specified Azure AD application)"}
      }
}

Consulte tambémSee also