Indexar blobs e arquivos de texto sem formatação na Pesquisa de IA do Azure
Aplica-se a: Indexadores de blobs, Indexares de arquivos
Ao usar um indexador para extrair conteúdo de arquivo ou texto de blob pesquisável para pesquisa de texto completo, você pode atribuir um modo de análise para obter melhores resultados de indexação. Por padrão, o indexador analisa a propriedade content
de um blob como uma parte única de texto. No entanto, se todos os seus blobs e arquivos contiverem texto sem formatação na mesma codificação, você poderá melhorar significativamente o desempenho de indexação usando o modo de análise text
.
As recomendações para análise de text
incluem uma das seguintes características:
- O tipo de arquivo é
.txt
- Os arquivos são de qualquer tipo, mas o próprio conteúdo é texto (por exemplo, código-fonte do programa, HTML, XML e assim por diante). Para arquivos em uma linguagem de marcação, os caracteres de sintaxe serão passados como texto estático.
Lembre-se de que todos os indexadores serializam para JSON. Por padrão, o conteúdo de todo o arquivo de texto é indexado em um campo grande como "content": "<file-contents>"
. Nova linha e instruções de retorno novas são inseridas no campo de conteúdo e expressas como \r\n\
.
Se você desejar um resultado mais refinado ou granular e se o tipo de arquivo for compatível, considere as seguintes soluções:
delimitedText
modo de análise, se a origem for CSVjsonArray
oujsonLines
, se a origem for JSON
Uma terceira opção alternativa para a quebra de conteúdo em várias partes requer recursos avançados na forma de enriquecimento de IA. Ele adiciona análise que identifica e atribui partes do arquivo a campos de pesquisa diferentes. Você pode encontrar uma solução completa ou parcial por meio de habilidades internas, como reconhecimento de entidade ou extração de palavras-chave, mas uma solução mais provável pode ser um modelo de aprendizado personalizado que entenda seu conteúdo, encapsulado em uma habilidade personalizada.
Configurar a indexação de texto sem formatação
Para indexar blobs de texto sem formatação, crie ou atualize uma definição de indexador com a propriedade de configuração parsingMode
definida como text
em uma solicitação Criar indexador:
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text" } }
}
Por padrão, a codificação UTF-8
será assumida. Para especificar uma codificação diferente, use a propriedade de configuração encoding
. A lista de codificações com suporte está na coluna de suporte do .NET 5 e posterior.
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "iso-8859-1" } }
}
Exemplo de solicitação
Os modos de análise são especificados na definição do indexador.
POST https://[service name].search.windows.net/indexers?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-plaintext-indexer",
"dataSourceName" : "my-blob-datasource",
"targetIndexName" : "my-target-index",
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}