Come funziona la ricerca - Amazon CloudSearch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come funziona la ricerca

La raccolta di dati da cercare (a volte denominata corpus) può consistere in documenti di testo completo non strutturati, documenti semistrutturati come quelli formattati in linguaggi di mark-up o dati strutturati conformi a un modello XML di dati rigoroso. Ogni voce in cui intendi eseguire le ricerche, ad esempio un post di forum o una pagina Web, è rappresentata come documento. Ogni documento ha un ID univoco e uno o più campi che contengono i dati in cui desideri eseguire le ricerche e che intendi includere nei risultati.

Per rendere i dati ricercabili, devi rappresentarli come un batch di documenti in uno dei due JSON o XML caricarli nel tuo dominio di ricerca. Amazon genera CloudSearch quindi un indice di ricerca dai dati del documento in base alle opzioni di configurazione del dominio. Puoi inviare query a questo indice per individuare i documenti che soddisfano criteri di ricerca specifici.

Quando i tuoi dati cambiano, devi inviare gli aggiornamenti per aggiungere, modificare o eliminare i documenti dall’indice. Gli aggiornamenti vengono applicati in modo continuo nell'ordine in cui vengono ricevuti.

Per informazioni su come formattare i dati, vedi Preparazione dei dati.

Indicizzazione in Amazon CloudSearch

Per creare un indice di ricerca a partire dai tuoi dati, Amazon CloudSearch necessita delle seguenti informazioni:

  • In quali campi del documento intendi eseguire le ricerche.

  • Quali valori dei campi del documento desideri recuperare con i risultati di ricerca.

  • Quali campi del documento rappresentano categorie che desideri utilizzare per perfezionare e filtrare i risultati della ricerca.

  • Come deve essere elaborato il testo all'interno di un determinato campo.

Puoi definire questi metadati nella configurazione del tuo dominio specificando le opzioni di indicizzazione. È possibile utilizzare le opzioni di indicizzazione per specificare i campi inclusi nell'indice di ricerca e controllare le modalità di utilizzo di tali campi.

Devi configurare un campo indice corrispondente per ogni campo del documento presente nei tuoi dati: esiste una one-to-one mappatura tra i campi del documento e i campi del tuo indice Amazon. CloudSearch Oltre al nome del campo dell'indice, è necessario specificare:

  • Tipo di campo dell'indice

  • Se il campo è ricercabile (i campi text e text-array sono sempre ricercabili)

  • Se il campo può essere utilizzato come categoria (facet)

  • Se nei risultati di ricerca può essere restituito il valore del campo.

  • Se il campo può essere utilizzato per ordinare i risultati.

  • Se per il campo possono essere restituite evidenziazioni.

  • Un valore predefinito da utilizzare se non viene specificato alcun valore nei dati del documento.

Per informazioni su come configurare i campi indice per Amazon CloudSearch, consultaconfigure indexing options.

Sfaccettature su Amazon CloudSearch

Un facet è un campo dell'indice che rappresenta una categoria che desideri utilizzare per perfezionare e filtrare i risultati della ricerca. Quando invii richieste di ricerca ad Amazon CloudSearch, puoi richiedere informazioni sui facet per scoprire quanti risultati condividono lo stesso valore in un facet. Puoi visualizzare queste informazioni insieme ai risultati della ricerca e utilizzarle per consentire agli utenti di affinare le loro ricerche in modo interattivo. (tale attività viene spesso indicata come navigazione o ricerca con facet).

Un facet può essere qualsiasi campo datale, letterale o numerico con sfaccettatura abilitata nella configurazione del dominio. Per ogni sfaccettatura, Amazon CloudSearch calcola il numero di accessi che condividono lo stesso valore. Puoi definire dei bucket per calcolare il numero di sfaccettature per particolari sottoinsiemi dei valori delle sfaccettature. Solo i bucket con corrispondenze vengono inclusi nei risultati delle faccette.

Per informazioni sulla configurazione dei facet, vedi configure indexing options. Per informazioni sull'utilizzo delle informazioni sui facet per supportare la navigazione con facet, vedi Come ottenere e utilizzare le informazioni sui facet in Amazon CloudSearch.

Elaborazione del testo in Amazon CloudSearch

Durante l'indicizzazione, Amazon CloudSearch elabora i contenuti text e text-array i campi in base allo schema di analisi specifico della lingua configurato per il campo. Uno schema di analisi controlla il modo in cui il testo viene normalizzato, tokenizzato e derivato e specifica eventuali stopword o sinonimi da tenere in considerazione durante l'indicizzazione. Amazon CloudSearch fornisce schemi di analisi predefiniti per ogni lingua supportata. Per informazioni sulla configurazione di schemi di analisi personalizzati, vedi Configurazione degli schemi di analisi. Per informazioni su come Amazon CloudSearch normalizza e tokenizza il testo e applica le opzioni di testo configurate durante l'indicizzazione dei campi di testo e l'elaborazione delle richieste di ricerca, consulta. Elaborazione di testo in Amazon CloudSearch

Ordinamento dei risultati in Amazon CloudSearch

È possibile personalizzare il modo in cui i risultati di ricerca vengono classificati definendo espressioni che calcolano i valori personalizzati per ogni documento che soddisfa i criteri di ricerca. Ad esempio, potresti definire un'espressione che tenga conto del valore nel popularity campo di un documento e del punteggio di pertinenza predefinito calcolato da Amazon CloudSearch Expressions. Si tratta semplicemente di espressioni numeriche che utilizzano operatori e funzioni numerici standard. Le espressioni possono fare riferimento ai campi int e double, ad altre espressioni, al punteggio di rilevanza (_score) di un documento e all'epoca (_time). Quando si inviano richieste di ricerca, è necessario specificare le espressioni che si desidera utilizzare per ordinare i risultati di ricerca. È inoltre possibile fare riferimento a espressioni all'interno dei criteri di ricerca.

Lo _score di rilevanza di un documento indica la frequenza di una determinata occorrenza in una richiesta di ricerca. Per calcolare il punteggio di pertinenza, Amazon CloudSearch tiene conto del numero di volte in cui i termini di ricerca compaiono in un documento rispetto agli altri documenti dell'indice.

Per informazioni su come configurare le espressioni per il tuo dominio, vedi Configurazione di espressioni.

Richieste di ricerca in Amazon CloudSearch

Invii le richieste di ricerca all'endpoint di ricerca del tuo dominio come HTTP HTTPS GET /requests. È possibile specificare una serie di opzioni per limitare la ricerca, richiedere informazioni sui facet, controllare la classificazione e specificare cosa si desidera che venga restituito nei risultati. Puoi ottenere i risultati della ricerca in uno dei due modi JSON oXML. Per impostazione predefinita, Amazon CloudSearch restituisce i risultati inJSON.

Quando invii una richiesta di ricerca, Amazon CloudSearch esegue l'elaborazione del testo sulla stringa di ricerca. La stringa di ricerca viene elaborata per:

  • Convertire tutti i caratteri in minuscoli

  • Suddividere la stringa in termini separati in corrispondenza di delimitazioni di spazi e punteggiatura

  • Rimuovere i termini che sono nell'elenco delle stopword per il campo in cui viene eseguita la ricerca.

  • Mappa le radici e i sinonimi in base alle opzioni di derivazione e sinonimo configurate per il campo in cui si cerca.

Una volta completata questa preelaborazione, Amazon CloudSearch cerca i termini di ricerca nell'indice e identifica tutti i documenti che corrispondono alla richiesta. Per generare una risposta, Amazon CloudSearch elabora questo elenco di risultati di ricerca per filtrare e ordinare i documenti e i facet di calcolo corrispondenti. Amazon restituisce CloudSearch quindi la risposta in JSON oXML.

Per impostazione predefinita, Amazon CloudSearch restituisce i risultati di ricerca classificati in base ai _punteggi di pertinenza dei risultati. In alternativa, la richiesta può specificare il campo di indice o l'espressione che si desidera utilizzare per ordinare le occorrenze. Ad esempio, è possibile ordinare le occorrenze in base a un campo dell'indice che contiene il prezzo o un'espressione che calcola la popolarità.

Per ulteriori informazioni su come cercare, classificare e scorrere e pagine dei risultati, vedi Ricerca nei tuoi dati con Amazon CloudSearch.