Indicizzare BLOB e file di testo normale in Ricerca di intelligenza artificiale di Azure
Si applica a: Indicizzatori BLOB, Indicizzatori file
Quando si usa un indicizzatore per estrarre testo BLOB o contenuto di file ricercabile per la ricerca full-text, è possibile assegnare una modalità di analisi per ottenere risultati di indicizzazione migliori. Per impostazione predefinita, l'indicizzatore analizza la proprietà di content
un BLOB come singolo blocco di testo. Tuttavia, se tutti i BLOB e i file contengono testo normale nella stessa codifica, è possibile migliorare significativamente le prestazioni di indicizzazione usando la text
modalità di analisi.
Consigli per text
l'analisi includono una delle caratteristiche seguenti:
- Il tipo di file è
.txt
- I file sono di qualsiasi tipo, ma il contenuto stesso è testo (ad esempio, codice sorgente del programma, HTML, XML e così via). Per i file in un linguaggio di markup, i caratteri di sintassi vengono inseriti come testo statico.
Tenere presente che tutti gli indicizzatori serializzano in JSON. Per impostazione predefinita, il contenuto dell'intero file di testo viene indicizzato all'interno di un campo di grandi dimensioni come "content": "<file-contents>"
. Le istruzioni di nuova riga e restituzione sono incorporate nel campo contenuto ed espresse come \r\n\
.
Se si vuole ottenere un risultato più raffinato o granulare e se il tipo di file è compatibile, prendere in considerazione le soluzioni seguenti:
delimitedText
modalità di analisi, se l'origine è CSVjsonArray
ojsonLines
, se l'origine è JSON
Un'alternativa terza opzione per suddividere il contenuto in più parti richiede funzionalità avanzate sotto forma di arricchimento tramite intelligenza artificiale. Aggiunge l'analisi che identifica e assegna blocchi del file a campi di ricerca diversi. È possibile trovare una soluzione completa o parziale tramite competenze predefinite, ad esempio il riconoscimento delle entità o l'estrazione di parole chiave, ma una soluzione più probabile potrebbe essere un modello di apprendimento personalizzato che comprende il contenuto, incluso in una competenza personalizzata.
Configurare l'indicizzazione di testo normale
Per indicizzare BLOB di testo normale, creare o aggiornare una definizione dell'indicizzatore con la parsingMode
proprietà di configurazione impostata su text
in una richiesta Crea indicizzatore :
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2023-11-01
Content-Type: application/json
api-key: [admin key]
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text" } }
}
Per impostazione predefinita, verrà utilizzata la codifica UTF-8
. Per specificare una codifica diversa, utilizzare la proprietà di configurazione encoding
:
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "windows-1252" } }
}
Esempio di richiesta
Le modalità di analisi vengono specificate nella definizione dell'indicizzatore.
POST https://[service name].search.windows.net/indexers?api-version=2023-11-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" } }
}