Eseguire la ricerca in un indice

Completato

Dopo la creazione e il popolamento di un indice, è possibile eseguire una query sull'indice per cercare informazioni nel contenuto del documento indicizzato. Sebbene sia possibile recuperare le voci di indice in base alla corrispondenza semplice del valore del campo, la maggior parte delle soluzioni di ricerca usa la semantica della ricerca full-text per eseguire query su un indice.

Il concetto ricerca full-text indica le soluzioni di ricerca che analizzano il contenuto del documenti basati su testo per trovare i termini della query. Le query di ricerca full-text in Azure AI Search si basano sulla sintassi di query Lucene, che offre un set completo di operazioni di query per la ricerca, l'applicazione di filtri e l'ordinamento di dati negli indici. Azure AI Search supporta due varianti della sintassi Lucene:

  • Semplice: sintassi intuitiva che semplifica l'esecuzione di ricerche di base che individuano corrispondenze con i termini di query letterali specificati da un utente.
  • Completa: sintassi estesa che supporta i filtri complessi, le espressioni regolari e altre query più sofisticate.

Le applicazioni client inviano query ad Azure AI Search specificando un'espressione di ricerca insieme ad altri parametri che determinano il modo in cui l'espressione viene valutata e vengono restituiti i risultati. Alcuni parametri comuni inviati con una query includono:

  • search: espressione di ricerca che include i termini da trovare.
  • queryType: sintassi Lucene da valutare, ovvero simple o full.
  • searchFields: campi dell'indice in cui eseguire la ricerca.
  • select: campi da includere nei risultati.
  • searchMode: criteri per l'inclusione dei risultati in base a più termini di ricerca. Si supponga, ad esempio, di cercare un albergo confortevole. Un valore Any per searchMode restituisce i documenti che includono "confortevole", "albergo" o entrambi, mentre un valore All per searchMode limita i risultati ai documenti che contengono sia "confortevole" che "albergo".

L'elaborazione delle query è costituita da quattro fasi:

  1. Analisi della query. L'espressione di ricerca viene valutata e ricostruita come albero di sottoquery appropriate. Le sottoquery possono includere query sui termini (individuazione di singole parole specifiche nell'espressione di ricerca, ad esempio albergo), query sulle frasi (individuazione di frasi con più termini specificati tra virgolette nell'espressione di ricerca, ad esempio "parcheggio gratuito") e query sui prefissi (individuazione di termini con un prefisso specificato, ad esempio con*, che corrisponderebbe a vie aeree, condizionamento e confortevole).
  2. Analisi lessicale: i termini della query vengono analizzati e perfezionati in base alle regole linguistiche. Ad esempio, il testo viene convertito in lettere minuscole e le parole non significative non essenziali (ad esempio "il", "un", "è" e così via) vengono rimosse. Quindi le parole vengono convertite nella loro forma radice (ad esempio, "confortevole" potrebbe essere semplificato in "comfort") e le parole composite vengono suddivise in termini costitutivi.
  3. Recupero di documenti: i termini della query vengono confrontati con i termini indicizzati e viene identificato il set di documenti corrispondenti.
  4. Assegnazione dei punteggi: un punteggio di pertinenza viene assegnato a ogni risultato in base a un calcolo TF/IDF (Tera Frequency/Inverse Document Frequency).

Nota

Per altre informazioni sull'esecuzione di query su un indice e per dettagli sulla sintassi semplice e completa, vedere Tipi e composizione delle query in Azure AI Search nella documentazione di Azure AI Search.