Ottimizzare i risultati di ricerca
Obiettivi di apprendimento
Al completamento di questa unità, sarai in grado di:
- Descrivere come creare ricerche testuali efficienti che restituiscano risultati di ricerca più mirati.
- Descrivere come creare una funzionalità di suggerimento automatico per le ricerche.
- Indicare altre azioni che gli amministratori possono intraprendere per migliorare i risultati di ricerca per gli utenti.
Creare ricerche testuali efficienti
Le query di ricerca possono essere costose. Maggiore è la quantità di dati su cui viene condotta la ricerca, maggiore sarà il numero di risultati restituiti e maggiore sarà il rischio di rallentare l'intera operazione.
Come si fa a contrastare la lentezza delle ricerche? Puoi adottare due strategie di base.
- Limitare i dati su cui effettuare la ricerca
- Limitare i dati che vengono restituiti
Ma non bisogna esagerare. Se sei troppo efficiente, la ricerca risulta meno utile. Agli utenti non piace vedere la scritta Record non trovato quando sanno che il record esiste.
Ecco i nostri consigli per trovare una giusta via di mezzo. Iniziamo con un esempio di SOSL per afferrare i concetti di base.
Per limitare la quantità di dati su cui viene effettuata la ricerca, usa IN SearchGroup. Puoi condurre la ricerca per nome, email, telefono, barra laterale o tutti i campi. Se ad esempio vuoi cercare solo un'email, cerca solamente nei campi email.
FIND {jsmith@cloudkicks.com} IN EMAIL FIELDS RETURNING Contact
Parliamo ora dei risultati della ricerca. Certo, gli utenti pensano di voler vedere tutti i risultati. Ma se i record si contano a migliaia, è opportuno rivedere questa posizione. Pensa a come limitare i risultati o perlomeno a come suddividerli in blocchi di dimensioni più piccole e più facili da metabolizzare.
Ancora una volta, tornando a SOSL, è possibile utilizzare RETURNING FieldSpec
per specificare quali dati vengono restituiti. Abbiamo usato questa clausola nell'ultima unità. Vediamo quali sono le sue caratteristiche più avanzate.
-
ObjectTypeName
– Specifica l'oggetto da restituire. -
FieldList
– Specifica i campi da restituire. -
ORDER By
– Specifica i campi in base ai quali ordinare i risultati. È possibile specificare anche se l'ordine deve essere ascendente o discendente. -
LIMIT n
– Imposta il numero massimo di record restituiti per l'oggetto specificato. -
OFFSET n
– Imposta l'offset della riga iniziale nell'insieme dei risultati restituiti dalla query.
Sono molte nozioni da assimilare. Procediamo per gradi.
Passaggio | Obiettivo | Esempio |
---|---|---|
1 | Specificare l'oggetto da restituire. |
FIND {Cloud Kicks} RETURNING Account |
2 | Specificare il campo da restituire. |
FIND {Cloud Kicks} RETURNING Account(Name, Industry) |
3 | Ordinare i risultati in base al campo in ordine crescente, che è la modalità predefinita. |
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name) |
4 | Impostare il numero massimo di record restituiti. |
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10) |
5 | Impostare l'offset della riga iniziale nei risultati. |
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10 OFFSET 25) |
Ora che stiamo iniziando a capire come funziona, proviamo alcune istruzioni WITH che consentono di filtrare i record in base a determinati campi predefiniti. Prefiltrando i risultati, se ne riduce il numero e si migliora la performance. Inoltre, gli utenti non hanno bisogno di spulciare una marea di risultati. quali tipi di filtro WITH contiene SOSL. Eccoli qui:
Risorsa | Esempio |
---|---|
WITH DIVISION |
FIND {Cloud Kicks} RETURNING Account (Name, Industry) WITH DIVISION = 'Global' |
WITH DATA CATEGORY |
FIND {race} RETURNING KnowledgeArticleVersion (Id, Title WHERE PublishStatus='online' and language='en_US') WITH DATA CATEGORY Location__c AT America__c |
WITH NETWORK |
FIND {first place} RETURNING User (Id, Name), FeedItem (id, ParentId WHERE CreatedDate = THIS_YEAR Order by CreatedDate DESC) WITH NETWORK = '00000000000001' |
WITH PRICEBOOK |
Find {shoe} RETURNING Product2 WITH PricebookId = '01sxx0000002MffAAE' |
Cominci ad avere un'idea più chiara? Allora dovresti essere pronto ad affrontare come tutto questo funziona all'interno di SOQL. Fortunatamente non ci sono particolari differenze. SOQL presenta una sintassi simile in SELECT
che svolge la stessa funzione di SOSL. L'elenco completo delle sintassi, ivi compreso il metodo utilizzato per limitare i dati in base alla categoria o alla rete, si trova nei documenti per gli sviluppatori. Di seguito riportiamo una comoda tabella di confronto di alcune sintassi di cui abbiamo parlato.
Mi piacerebbe… | SOSL | SOQL |
---|---|---|
Limitare i dati su cui viene effettuata la ricerca | IN SearchGroup |
WHERE |
Specificare i dati da restituire nella risposta | Returning FieldSpec |
SELECT |
Ordinare i risultati |
ORDER BY LIMIT OFFSET
|
ORDER BY LIMIT OFFSET
|
Filtrare i dati per categoria | WITH DATA CATEGORY |
WITH DATA CATEGORY |
Visualizzare i risultati suggeriti
Ricordi quando nella prima unità abbiamo parlato del suggerimento automatico dei record e dell'arte della ricerca di informazioni sul trail running? Rivediamo quel concetto in modo un po' più approfondito.
A titolo di ripasso, puoi utilizzare le API in modo che i suggerimenti vengano visualizzati mentre l'utente digita le parole nella barra di ricerca. I suggerimenti restituiscono i record il cui titolo corrisponde a quello che l'utente sta digitando. Questa funzione permette agli utenti di arrivare più velocemente a ciò che desiderano. Che poi è l'obiettivo della ricerca, no?
Per sfruttare al meglio questa funzione, ecco le risorse REST a cui attingere. Ciascuna risorsa presenta una sintassi e parametri simili, ma scegli quella che meglio si adatta al tuo caso d'uso.
- Ricerca di record suggeriti – Restituisce un elenco di record suggeriti i cui nomi corrispondono alla stringa di ricerca dell'utente. La risorsa dei suggerimenti fornisce agli utenti una scorciatoia per passare direttamente ai record verosimilmente più pertinenti, prima di eseguire una ricerca completa.
- Corrispondenza di titolo degli articoli suggeriti per la ricerca – Restituisce un elenco di articoli Salesforce Knowledge il cui titolo corrisponde alla stringa di ricerca dell'utente. Fornisce una scorciatoia per passare direttamente agli articoli verosimilmente più pertinenti prima che l'utente effettui una ricerca.
- Articoli sObject suggeriti per il caso – Restituisce un elenco di articoli di Salesforce Knowledge suggeriti per un caso.
Utilizziamo la Corrispondenza di titolo degli articoli suggeriti per la ricerca come esempio di come funziona il suggerimento. Di seguito è riportata la sintassi di base, ma per un elenco completo dei parametri disponibili, ti invitiamo a consultare la documentazione dell'API.
/vXX.X/search/suggestTitleMatches?q=search string&language=article language&publishStatus=article publication status
Ora utilizzeremo la stessa sintassi, ma con un esempio specifico. La richiesta si presenta come la seguente.
/vXX.X/search/suggestTitleMatches?q=race+tips&language=en_US&publishStatus=Online
E questa è la risposta JSON.
{ "autoSuggestResults" : [ { "attributes" : { "type" : "KnowledgeArticleVersion", "url" : "/services/data/v30.0/sobjects/KnowledgeArticleVersion/ka0D00000004CcQ" }, "Id" : "ka0D00000004CcQ", "UrlName" : "tips-for-your-first-trail-race", "Title" : "race tips", "KnowledgeArticleId" : "kA0D00000004Cfz", "isMasterLanguage" : "1", } ], "hasMoreResults" : false }
Lavorare con gli amministratori
L'ottimizzazione dei risultati di ricerca è uno sport di squadra. Per fortuna, conosci la persona più adatta a fornirti un assist: l'amministratore MVP. Ecco lo schema di gioco per conquistare qualche punto facile e migliorare i risultati di ricerca collaborando con l'amministratore.
Per prima cosa è necessario creare e ottimizzare i gruppi di sinonimi, ovvero parole o frasi che vengono trattate allo stesso modo nelle ricerche. La ricerca di un termine all'interno di un gruppo di sinonimi restituisce i risultati per tutti i termini di quel gruppo. Ad esempio, cercando USB si ottengono risultati per tutti i termini del gruppo di sinonimi, che contiene USB, chiavetta, flash drive e chiavetta di memoria. È probabile che tu stia già intuendo l'utilità dei gruppi di sinonimi. Gli utenti possono effettuare ricerche inserendo un unico termine e ottenere i risultati desiderati anche se non utilizzano il termine di ricerca "giusto". Non è necessario rinominare i prodotti.
- In Imposta, inserisci Sinonimi nella casella Ricerca veloce, quindi seleziona Sinonimi.
- In Gruppi sinonimi personalizzati, fai clic su Nuovo per creare un gruppo di sinonimi o su Modifica in corrispondenza di un gruppo esistente.
- Aggiungi da due a sei sinonimi per gruppo. Un sinonimo può essere qualsiasi parola o frase. Non occorrono caratteri speciali.
Hai una montagna di sinonimi da importare? Usa l'API dei metadati citata nella sezione dei riferimenti.
Una volta sistemati i gruppi di sinonimi, il passo successivo è rappresentato dai termini di ricerca promossi per gli articoli Knowledge.
I termini di ricerca promossi sono utili per attirare l'attenzione su un articolo che, come sai grazie alla tua esperienza, viene spesso utilizzato per risolvere un problema di assistenza. L'impostazione è semplice. Gli amministratori trovano l'articolo perfetto e poi aggiungono i termini all'elenco correlato dei termini di ricerca promossi. Gli utenti che inseriscono quelle parole chiave vedono l'articolo scelto in cima ai risultati di ricerca.
Poniamo, a titolo di esempio, che il team di assistenza abbia scritto un articolo praticamente perfetto sulla restituzione di scarpe che non vanno bene. L'amministratore aggiorna l'articolo per includere i termini di ricerca promossi restituzione e non vanno bene. Quando gli utenti utilizzano quei termini di ricerca, viene visualizzato l'articolo.
Ecco alcune indicazioni per aiutare l'amministratore a ottimizzare i termini di ricerca promossi.
- Il numero massimo di caratteri per ciascun termine è 100. Per ottenere risultati ottimali nell'abbinamento con i termini di ricerca degli utenti, limita ciascun termine promosso a poche parole chiave.
- Non esagerare. I risultati migliori si ottengono con un uso selettivo dei termini, ovvero creando un numero limitato di termini promossi e un numero limitato di articoli promossi per ciascun termine. L'aggiunta di un numero eccessivo di termini di ricerca promossi può influenzare la priorità di pertinenza per gli utenti, portando a risultati indesiderati. L'organizzazione può creare un massimo di 2.000 termini promossi.
- La ricerca di articoli abbina un termine promosso ogni volta che tutte le parole chiave contenute nel termine sono presenti tra i termini di ricerca dell'utente, a prescindere dalla sequenza. Ciascuna parola chiave deve corrispondere esattamente.
Conclusione
La ricerca potrebbe non essere la più spettacolare delle funzioni di Salesforce, ma è la più utilizzata.
Speriamo che questo modulo ti abbia aiutato a capire e apprezzare quanto è potente. Hai appreso l'architettura della ricerca, come creare soluzioni di ricerca per alcuni casi d'uso comuni e come creare query di ricerca efficienti. Ora puoi iniziare a creare una funzione di ricerca che lascerà gli utenti di stucco.