Optimieren von Suchergebnissen
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Beschreiben, wie Sie effiziente Textsuchen erstellen, die mehr zielorientierte Suchergebnisse liefern
- Erörtern, wie Sie für die Suche die automatische Vorschlagsfunktion erstellen
- Auflisten weiterer Aktionen, über die Administratoren Suchergebnisse für Benutzer verbessern können
Erstellen effizienter Textsuchen
Suchabfragen können aufwendig sein. Je mehr Daten Sie durchsuchen und Ergebnisse Sie zurückgeben, desto langsamer kann der gesamte Vorgang werden.
Was können Sie gegen lahme Suchvorgänge tun? Sie können zwei grundlegende Strategien anwenden.
- Begrenzen der Daten, die durchsucht werden
- Begrenzen der Daten, die zurückgegeben werden
Doch Sie sollten nicht zu weit gehen. Wenn Sie zu effizient sind, ist die Suche weniger nützlich. Benutzer mögen es nicht, wenn ihnen Datensatz nicht gefunden angezeigt wird, obwohl sie wissen, dass dieser vorhanden ist.
Hier sind unsere Empfehlungen, wie Sie sie glücklich machen können. Lassen Sie uns mit einem SOSL-Beispiel beginnen, um die Grundkonzepte zu veranschaulichen.
Verwenden Sie zum Begrenzen der durchsuchten Daten "IN SearchGroup". Sie können nach Name, E-Mail, Telefonnummer, Randleiste oder allen Feldern suchen. Wenn Sie nur nach einer E-Mail suchen, durchsuchen Sie nur E-Mail-Felder.
FIND {jsmith@cloudkicks.com} IN EMAIL FIELDS RETURNING Contact
Lassen Sie uns nun über Suchergebnisse sprechen. Ja, Benutzer denken, dass sie alle Ergebnisse sehen möchten. Doch bei Tausenden von Datensätzen ist es Zeit, diese Einstellung zu überdenken. Denken Sie darüber nach, wie Sie die Ergebnisse begrenzen oder zumindest in kleinere, einfacher zu verarbeitende Segmente unterteilen können.
In SOSL können Sie RETURNING FieldSpec
verwenden, um anzugeben, welche Daten zurückgegeben werden. Wir haben dieses Element in der letzten Lektion verwendet, doch nun wollen wir uns mit seinen leistungsstarken Unterelementen beschäftigen.
-
ObjectTypeName
: Gibt das zurückzugebende Objekt an. -
FieldList
: Gibt das zurückzugebende Feld an. -
ORDER By
: Gibt an, anhand welcher Felder die Ergebnisse sortiert werden sollen. Sie können auch die auf- oder absteigende Reihenfolge angeben. -
LIMIT n
: Legt die maximale Anzahl von Datensätzen fest, die für das angegebene Objekt zurückgegeben werden. -
OFFSET
: Legt die Verschiebung der Startzeile in der von Ihrer Abfrage zurückgegebenen Ergebnismenge fest.
Das sind ganz schöne viele Informationen, die wir schrittweise durchgehen.
Schritt | Ziel | Beispiel |
---|---|---|
1 | Angeben des zurückzugebenden Objekts |
FIND {Cloud Kicks} RETURNING Account |
2 | Angeben des zurückzugebenden Felds |
FIND {Cloud Kicks} RETURNING Account(Name, Industry) |
3 | Sortieren der Ergebnisse anhand eines Felds in aufsteigender Reihenfolge (Standardeinstellung) |
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name) |
4 | Festlegen der maximalen Anzahl zurückgegebener Datensätze |
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10) |
5 | Festlegen der Verschiebung der Startzeile in die Ergebnisse |
FIND {Cloud Kicks} RETURNING Account (Name, Industry ORDER BY Name LIMIT 10 OFFSET 25) |
Nun da Sie den Bogen heraus haben, lassen Sie uns einige WITH-Anweisungen ausprobieren, die Datensätze anhand bestimmter vordefinierter Felder filtern. Durch Filtern der Ergebnisse werden weniger Ergebnisse zurückgegeben und die Leistung verbessert sich. Darüber hinaus müssen Benutzer nicht so viele Ergebnisse sichten. Welche Arten von WITH-Filtern bietet SOSL? Hier sind sie:
Ressource | Beispiel |
---|---|
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' |
Wird das Konzept schon ein bisschen klarer? Wie es scheint, sind Sie bereit, diese Aufgabe in SOQL anzugehen. Die gute Nachricht ist, dass dies nahezu identisch erfolgt. SOQL bietet unter SELECT
eine vergleichbare Syntax, mit der dasselbe wie mit SOSL erreicht wird. Die vollständige Übersicht über die Syntax, auch zum Begrenzen nach Datenkategorie oder Netzwerk, finden Sie in der Dokumentation für Entwickler. Hier nun eine praktische Vergleichstabelle für die angesprochene Syntax.
Ziel | SOSL | SOQL |
---|---|---|
Begrenzen der durchsuchten Daten | IN SearchGroup |
WHERE |
Angeben der Daten, die in der Antwort zurückgegeben werden sollen | Returning FieldSpec |
SELECT |
Sortieren von Ergebnissen |
ORDER BY LIMIT OFFSET
|
ORDER BY LIMIT OFFSET
|
Filtern nach Datenkategorie | WITH DATA CATEGORY |
WITH DATA CATEGORY |
Anzeigen vorgeschlagener Ergebnisse
Erinnern Sie sich noch ganz entfernt an die erste Lektion, in der wir uns mit automatischen Vorschlägen und den Feinheiten der Suche nach Informationen zum Querfeldeinlaufen beschäftigt haben? Lassen Sie uns dieses Konzept noch einmal im Detail betrachten.
Zur Auffrischung: Sie können APIs so nutzen, dass während der Benutzereingabe in die Suchleiste Vorschläge angezeigt werden. Vorschläge geben Datensätze mit einem Titel zurück, der der Eingabe des Benutzers entspricht. Dadurch gelangen Ihre Benutzer schneller dahin, wo sie hin möchten, was ja das ganze Ziel der Suche ist, oder?
Um diese Funktion nutzen können, müssen Sie auf REST-Ressourcen (Representational State Transfer) zurückgreifen. Syntax und Parameter sind bei jeder Ressource vergleichbar, doch Sie sollten diejenige nutzen, die am besten zu Ihrem Anwendungsfall passt.
- Search Suggested Records: Gibt eine Liste mit vorgeschlagenen Datensätzen zurück, deren Namen mit der Suchzeichenfolge des Benutzers übereinstimmen. Diese Ressource bietet eine Verknüpfung, mit der direkt zu wahrscheinlich relevanten Datensätzen navigiert werden kann, bevor der Benutzer eine vollständige Suche durchführt.
- Search Suggested Article Title Matches: Gibt eine Liste von Salesforce Knowledge-Artikeln zurück, deren Titel mit der Zeichenfolge der Suchabfrage des Benutzers übereinstimmt. Bietet eine Verknüpfung, mit der direkt zu wahrscheinlich relevanten Artikeln navigiert werden kann, bevor der Benutzer eine Suche durchführt.
- SObject Suggested Articles for Case: Gibt eine Liste mit vorgeschlagenen Salesforce Knowledge-Artikeln für einen Kundenvorgang zurück.
Lassen Sie uns die Option "Search Suggested Article Title Matches" als Beispiel dafür verwenden, wie die Vorschlagsfunktion arbeitet. Hier sehen Sie die Basissyntax. In der API-Dokumentation finden Sie die vollständige Liste der verfügbaren Parameter.
/vXX.X/search/suggestTitleMatches?q=search string&language=article language&publishStatus=article publication status
Nun verwenden wir diese Syntax mit einem spezifischen Beispiel. Die Anforderung sieht wie folgt aus:
/vXX.X/search/suggestTitleMatches?q=race+tips&language=en_US&publishStatus=Online
Und so die JSON-Antwort.
{ "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 }
Zusammenarbeiten mit Administratoren
Die Optimierung von Suchergebnissen ist ein Mannschaftssport. Zum Glück kennen Sie Ihren besten Vorlagengeber: Ihr hoch geschätzter Administrator. Sie lernen nun das Spiel zum Erzielen einiger einfacher Treffer beim Verbessern von Suchergebnisse kennen, indem Sie mit Ihrem Administrator zusammenarbeiten.
Der erste Schritt ist das Einrichten und Optimieren von Synonymgruppen, die Wörter oder Wortfolgen enthalten, die in Suchen gleich behandelt werden. Eine Suche nach einem Begriff in einer Synonymgruppe gibt Ergebnisse für alle Begriffe in der Gruppe zurück. Eine Suche nach "USB" gibt alle Ergebnisse für alle Begriffe in der Synonymgruppe zurück, die USB, USB-Speicherstick, USB-Stick und Speicher-Stick enthält. Sie erkennen wahrscheinlich bereits den Nutzen von Synonymgruppen. Benutzer können einen Begriff suchen und die gewünschten Ergebnisse auch dann erhalten, wenn sie nicht den "richtigen" Suchbegriff eingeben. Keine Umbenennung von Produkten erforderlich.
- Geben Sie unter Setup im Feld "Schnellsuche" den Text "Synonyme" ein und wählen Sie dann Synonyme aus.
- Klicken Sie unter "Benutzerdefinierte Synonymgruppen" auf Neu, um eine Synonymgruppe zu erstellen, oder neben einer vorhandenen Gruppe auf Bearbeiten.
- Fügen Sie pro Gruppe zwei bis sechs Synonyme hinzu. Ein Synonym kann jedes beliebige Wort bzw. jede beliebige Wortverbindung sein. Keine Sonderzeichen.
Sie haben bereits eine Riesenmenge von Synonymen, die importiert werden sollen? Nutzen Sie die Metadaten-API, die im Abschnitt "Referenzen" aufgeführt ist.
Nun da Sie Synonymgruppen im Griff haben, geht es im nächsten Schritt um höhergestufte Suchbegriffe für Knowledge Base-Artikel.
Höhergestufte Suchbegriffe sind nützlich zum Lenken der Aufmerksamkeit auf einen Artikel, von dem Sie wissen, dass er häufig zum Lösen eines Supportproblems verwendet wird. Das Höherstufen ist ganz einfach. Administratoren bestimmen den perfekten Titel und fügen dann der Themenliste "Höhergestufte Suchbegriffe" Begriffe hinzu. Benutzern, die diese Stichwörter eingeben, wird der gewählte Artikel ganz oben in den Suchergebnissen angezeigt.
Beispiel: Ihr Support-Team hat den absolut perfekten Artikel zur Rückgabe von Schuhen verfasst, die nicht passen. Der Administrator bearbeitet den Artikel so, dass er dem Artikel die höhergestuften Suchbegriffe Zurückgeben und Passt nicht hinzufügt. Wenn Benutzer nach diesen Begriffen suchen, wird der Artikel eingeblendet.
Beim Verfeinern höhergestufter Suchbegriffe muss der Administrator einige Dinge beachten.
- Die maximale Anzahl von Zeichen pro Begriff ist 100. Begrenzen Sie für eine optimale Übereinstimmung mit den Suchbegriffen des Benutzers jeden höhergestuften Begriff auf einige Stichwörter.
- Übertreiben Sie es nicht. Verwenden Sie sie für beste Ergebnisse selektiv. Das bedeutet, dass Sie eine begrenzte Anzahl höhergestufter Begriffe und eine begrenzte Anzahl höhergestufter Artikel pro Begriff erstellen. Das Hinzufügen von zu vielen höhergestufter Suchbegriffen kann sich auf die Relevanzrangordnung für Benutzer auswirken, was zu unerwünschten Ergebnissen führt. Ihre Organisation kann maximal 2.000 höhergestufte Begriffe erstellen.
- Die Artikelsuche stimmt mit einem höhergestuften Begriff überein, wenn alle Stichwörter des Begriffs innerhalb der Suchbegriffe des Benutzers in einer beliebigen Reihenfolge vorkommen. Jedes Stichwort muss genau übereinstimmen.
Zusammenfassung
Die Suchfunktion mag nicht die glanzvollste Salesforce-Funktion sein, doch sie ist die am meisten verwendete.
Wir hoffen, dass Sie im Verlauf dieses Moduls die Leistungsfähigkeit dahinter nicht nur verstanden, sondern auch zu schätzen gelernt haben. Sie haben die Architektur der Suche kennengelernt, erfahren, wie Sie Suchlösungen für gängige Anwendungsfälle erstellen, und wissen nun, wie Sie effiziente Suchabfragen schreiben. Fangen Sie nun an, eine Suchfunktion zu erstellen, die die Benutzer begeistert.