Skip to main content

Scegliere la soluzione di ricerca più adatta

Obiettivi di apprendimento

Al completamento di questa unità, sarai in grado di:

  • Spiegare quando creare una soluzione di ricerca personalizzata.
  • Descrivere la differenza tra SOSL e SOQL.
  • Individuare i protocolli API disponibili per la ricerca.

La ricerca secondo il metodo Salesforce

Sai qual è la funzione di Salesforce più utilizzata in assoluto? Se hai detto "ricerca", hai indovinato! La ricerca è il metodo utilizzato dagli utenti per trovare il record che desiderano tra migliaia e migliaia di dati.

In questo modulo Trailhead scoprirai a grandi linee come funziona la ricerca di Salesforce e come determinare se una soluzione di ricerca personalizzata fa al caso tuo. Imparerai anche a creare da zero (o ricreare) una soluzione personalizzata utilizzando l'API Salesforce per alcuni casi d'uso comuni. Infine, imparerai come ottimizzare le query di ricerca per ottenere risultati più mirati e pertinenti. In breve, acquisirai una conoscenza approfondita della ricerca e di come può aiutare gli utenti a essere più produttivi.

Per iniziare, parliamo di come funziona la ricerca.

Tutti i record sono archiviati come campi dati nel database dell'organizzazione. Quando si aggiorna o si crea un record, il motore di ricerca fa una copia dei dati e scompone il contenuto in elementi più piccoli, detti token. Questi token vengono memorizzati nell'indice di ricerca, insieme a un link che rimanda al record originale.

Dal punto di vista dell'utente, il processo di ricerca è simile a quello della creazione di un record. Quando gli utenti inseriscono un termine nel campo di ricerca (1), il motore di ricerca lo suddivide in token (2), dopodiché controlla la corrispondenza di quei token con le informazioni sui record memorizzate nell'indice di ricerca (3), classifica i record associati in base alla pertinenza (4) e restituisce i risultati a cui gli utenti hanno accesso (5).

Indice di ricerca

Soffermiamoci un attimo sull'indice di ricerca. Perché fare la fatica di creare dei token quando si può effettuare una ricerca nel database dell'organizzazione? Il motivo è che l'indice di ricerca è molto intelligente nel determinare quali risultati restituire all'utente.

L'indice di ricerca e i token permettono al motore di ricerca di applicare funzioni avanzate come la correzione ortografica, i nickname, la lemmatizzazione e i gruppi di sinonimi. Tutto ciò significa che possiamo presentare record che includono varianti del termine di ricerca dell'utente per ampliare il ventaglio dei risultati. (Inoltre, nel caso te lo stessi chiedendo, la lemmatizzazione non ha nulla a che fare con i lemming. Riguarda piuttosto l'identificazione e la restituzione di varianti del termine di ricerca, ad esempio aggiungere, aggiunta e aggiunto, nei risultati della ricerca.)

L'indice di ricerca offre inoltre l'opportunità di introdurre la priorità di pertinenza nel mix. Questo è il modo in cui la ricerca funziona per trovare e classificare i record che gli utenti stanno cercando. Gli elementi in gioco sono la frequenza, l'ordinamento e il grado di univocità dei termini di ricerca, le attività associate ai record e alcuni altri fattori. 

Facciamo un confronto. Cercando nel database pantofole coniglietto si ottengono solo i record in cui è presente una corrispondenza esatta con l'espressione "pantofole coniglietto". Grazie all'indice di ricerca, però, non solo è possibile recuperare i record che contengono pantofole coniglietto, ma anche i record che contengono termini simili come pantofole coniglio o pantofola coniglietto (singolare). Supponiamo poi che tu abbia inserito coniglietto pantofole o che abbia commesso un errore di battitura (cose che capitano). Grazie alla corrispondenza non ordinata e al controllo ortografico, saranno visualizzati comunque risultati pertinenti. E tutti i risultati vengono ordinati in base a ciò che è pertinente per l'utente specifico che ha effettuato la ricerca.

Magari stai pensando: la funzione di ricerca integrata in Salesforce sembra davvero ottima (e lo è) e funziona nella maggior parte dei casi d'uso. Allora in quali casi è necessaria una soluzione personalizzata?

In generale, una soluzione di ricerca personalizzata serve quando l'organizzazione utilizza un'interfaccia utente personalizzata anziché l'interfaccia utente Salesforce standard. Esempi di interfacce utente create internamente sono le Knowledge Base rivolte ai clienti o un sito interno di dati sui prodotti destinato ai dipendenti. Tuttavia, è bene fare attenzione: la creazione di un'interfaccia utente personalizzata non è alla portata di tutti e richiede un lavoro aggiuntivo. Fortunatamente una ricerca personalizzata permette comunque di sfruttare alcune funzioni di ricerca avanzate di Salesforce. Quindi, se l'azienda ha deciso di creare un'interfaccia utente personalizzata e ha bisogno di una funzione di ricerca personalizzata, questo è il modulo che fa per te.

Adesso che abbiamo trattato l'ABC della ricerca di Salesforce, parliamo delle API che consentono di trovare i record nella soluzione di ricerca personalizzata.

Connettersi alla ricerca con le API

Tieni presenti due API principali. Parleremo di altre due API più avanti. 

  • SOQL (Salesforce Object Query Language)
  • SOSL (Salesforce Object Search Language)

Sia SOQL che SOSL formattano le query di testo in una determinata API. Ma le somiglianze finiscono qui. Una query SOQL è l'equivalente di un'istruzione SELECT SQL e effettua una ricerca nel database dell'organizzazione. D'altra parte, SOSL rappresenta un modo programmatico per eseguire una ricerca testuale in base all'indice di ricerca. SOSL utilizza tutte le eccezionali funzionalità dell'indice di ricerca citate in precedenza.

SOQL e SOSL, inoltre, hanno sintassi diverse. Abbiamo incluso i link ai documenti per gli sviluppatori nella sezione delle risorse. Tuttavia, ci sono alcune linee guida relative a quando è opportuno utilizzare SOQL oppure SOSL.

Utilizza SOQL quando sai quali sono gli oggetti o i campi in cui risiedono i dati e vuoi:

  • Recupera i dati da un singolo oggetto o da più oggetti correlati tra loro.
  • Contare il numero di record che soddisfano i criteri specificati.
  • Ordinare i risultati nell'ambito della query.
  • Recuperare dati da campi numerici, date o caselle di controllo.

Utilizza SOSL quando non sai qual è l'oggetto o il campo in cui risiedono i dati e vuoi:

  • Recuperare i dati per un termine specifico la cui esistenza all'interno di un campo è nota. Poiché SOSL è in grado di tokenizzare più termini all'interno di un campo e di creare un indice di ricerca a partire da questo, le ricerche SOSL sono più veloci e possono restituire risultati più pertinenti.
  • Recuperare in modo efficiente più oggetti e campi, a prescindere dal fatto che gli oggetti possano o meno essere correlati tra loro.
  • Recuperare i dati di una particolare divisione di un'organizzazione utilizzando la funzione per divisioni e consentire di trovarli nel modo più efficiente possibile.

Ora diamo uno sguardo a due tipi di API aggiuntivi. 

La prima è l'API dei record suggeriti. Può darsi che tu conosca già i record suggeriti sotto altri nomi: suggerimenti automatici, risultati istantanei o completamento. Probabilmente sai anche come funzionano. Supponiamo che tu stia utilizzando un sito web che vende le scarpe da jogging più trendy del momento. Il sito utilizza una soluzione di ricerca Salesforce personalizzata per la Knowledge Base, in modo da incoraggiare la formazione di una community di runner, e tu vuoi capire quali sono le scarpe da trail running migliori. Inizi a digitare "trail running" nella barra di ricerca e ti vengono presentate le opzioni per gli articoli che includono i termini di ricerca nel titolo. 

La casella di ricerca sapeva esattamente ciò che volevi leggere!

I metodi REST di ricerca dei record suggeriti e di ricerca degli articoli suggeriti sono a tua disposizione per offrire agli utenti la stessa soddisfazione immediata. Più avanti ti mostreremo come utilizzare questi metodi.

Abbiamo parlato a lungo di come trovare i record all'interno di Salesforce. Ma come si fa se ci sono dei record archiviati al di fuori di Salesforce a cui gli utenti accedono per lavoro? Beh, c'è una soluzione anche per questo: Salesforce Federated Search, il nuovo metodo che gli utenti possono utilizzare per cercare elementi che risiedono al di fuori di Salesforce, rimanendo sempre all'interno di Salesforce Classic, Salesforce Console o Lightning Experience. 

Salesforce Federated Search ti consente di trasformare la casella di ricerca globale in un motore di ricerca esterno. Quando Federated Research viene impostata, trasferiamo la query dell'utente al motore esterno, che esegue la ricerca sulle fonti esterne. I risultati vengono restituiti direttamente nei risultati della ricerca di Salesforce. Lo strumento che consente di farlo è il connettore Salesforce Federated Search. Il connettore è realizzato utilizzando le specifiche OpenSearch e consente pertanto di inserire qualsiasi motore di ricerca conforme a questo standard di settore.

È importante sapere che la ricerca federata di Salesforce non passa attraverso l'indice di ricerca di Salesforce, il che significa che tutte queste interessanti funzioni avanzate di Salesforce non vengono applicate. Al contrario, i risultati vengono restituiti in base al provider di ricerca esterno, il che è molto pratico.

Il prossimo argomento sarà l'utilizzo dei protocolli per l'invio di query SOSL e SOQL. 

Invio di query tramite protocolli

Si possono scrivere le più svariate query di ricerca che si desiderano, ma non servono a nulla se per inviarle non si utilizza un protocollo API come REST, SOAP o Apex. 

Tieni presente che alcuni protocolli funzionano meglio con determinate API che con altre. In generale, con SOQL si parla di query e con SOSL di ricerche.

  • Query (REST) e query() (SOAP): esegue una query SOQL sull'oggetto specificato e restituisce i dati che corrispondono ai criteri specificati.
  • Search (REST) e search() (SOAP): esegue una ricerca di stringhe di testo SOSL sui dati dell'organizzazione.

Sono disponibili anche altre risorse per eseguire altre attività di ricerca comuni, come il suggerimento automatico di record, articoli e query. E se preferisci non usare SOSL o SOQL, considera la possibilità di utilizzare la ricerca parametrizzata in REST. Al posto di una stringa di ricerca nell'URL, si utilizzano dei parametri (da cui il nome) nell'URL.

Per quanto riguarda Apex, puoi utilizzare SOQL o SOSL sul momento includendo l'istruzione tra parentesi quadre. È inoltre possibile utilizzare la ricerca della classe per eseguire query SOSL dinamiche e la ricerca dello spazio dei nomi per ottenere risultati in termini di ricerca e suggerimenti.

Nella sezione Risorse di questa unità abbiamo incluso un pratico elenco. Nella prossima unità forniremo un'introduzione all'uso dei protocolli per permetterti di iniziare. Ricordati di leggere i documenti per gli sviluppatori per avere tutte le informazioni e gli esempi. 

Risorse

Condividi il tuo feedback su Trailhead dalla Guida di Salesforce.

Conoscere la tua esperienza su Trailhead è importante per noi. Ora puoi accedere al modulo per l'invio di feedback in qualsiasi momento dal sito della Guida di Salesforce.

Scopri di più Continua a condividere il tuo feedback