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:

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" } }
}

Passaggi successivi