Per fornire i risultati della ricerca appropriati per una query utente, a volte è necessario modificare la query. Si supponga, ad esempio, di creare un verticale di ricerca per Immagini. Quando qualcuno digita una query nel verticale Immagini, è necessario modificare la query in modo che restituisca solo i risultati della ricerca che sono Immagini.
Per modificare una query, usare generatore di query per configurare una trasformazione di query. È possibile configurare una trasformazione di query per sostituire le proprietà di una query, ad esempio l'origine dei risultati che la query userà per ottenere i risultati della ricerca o l'ordinamento che userà quando visualizza i risultati della ricerca. La trasformazione sostituisce anche il testo della query usando un modello di query configurabile. Il modello di query è il testo che sostituirà il testo della query e il modello può contenere variabili di query.
Una variabile di query è un segnaposto per un valore. Quando una trasformazione sostituisce il testo di una query con il relativo modello di query, sostituisce anche le variabili di query nel modello con valori specifici.
Una trasformazione sostituisce le variabili di query contestuali con i valori relativi al contesto della query. La tabella seguente mostra alcuni esempi di variabili di query contestuali.
Una trasformazione sostituisce questa variabile di query contestuale |
Con questo |
---|---|
{User.Name} |
Nome dell'utente che ha digitato la query |
{Site.URL} |
Sito in cui l'utente ha digitato il valore |
{Oggi} |
Data odierna |
Una trasformazione sostituisce le variabili di query associate con del testo specifico presente nella query dell'utente. La tabella seguente mostra alcuni esempi di variabili di query associate.
Una trasformazione sostituisce questa variabile di query associata |
Con questo |
---|---|
{searchBoxQuery} |
Query digitata dall'utente |
{searchTerms} |
Query digitata dall'utente, modificata dalla trasformazione più recente |
È possibile usare una variabile di query associata quando si aggiunge una restrizione a una query, ad esempio quando si limita una query a un determinato tipo di contenuto. Ad esempio, per un verticale di ricerca immagini, è possibile configurare una trasformazione di query che aggiunge "contenttype:picture" al testo della query usando il modello di query "{searchTerms} contenttype:picture". Se un utente digita la query "moon" in tale verticale, la trasformazione sostituisce "{searchTerms}" con "moon". Pertanto, la trasformazione della query modifica la query in "moon contenttype:picture".
È possibile configurare le trasformazioni di query in tre posizioni:
-
In una web part, ad esempio una web part Risultati ricerca. Configurare una trasformazione in una web part quando non è necessario apportare le stesse modifiche alle query in un'altra posizione.
-
In una regola di query, che specifica che determinate azioni verranno eseguite solo se vengono soddisfatte determinate condizioni. Due di queste azioni usano una trasformazione per modificare la query:
-
Aggiungere un blocco di risultati nella pagina dei risultati della ricerca. Questa azione crea una copia della query e la relativa trasformazione modifica solo la copia.
-
Modificare i risultati classificati. Questa azione modifica la query digitata dall'utente.
-
-
Nell'origine dei risultati usata dalla query per ottenere i risultati della ricerca.
Una query utente viene trasformata dalla web part, quindi da tutte le regole di query applicabili e infine dall'origine dei risultati. Pertanto, quando si configura una trasformazione in un'origine dei risultati, si sa che le modifiche alla trasformazione non verranno ignorate o sottoposte a override, perché l'origine dei risultati trasforma l'ultima query. Ad esempio, per assicurarsi che una ricerca in verticale immagini restituisca solo immagini, è necessario configurare la trasformazione appropriata in un'origine dei risultati e quindi configurare la web part nel verticale di ricerca in modo che usi tale origine dei risultati.
Per altre informazioni, vedere Panoramica dell'elaborazione delle query su TechNet.