Es ist üblich, dass ein Unternehmen eine eigene Terminologie oder mehrere Möglichkeiten hat, auf ein Konzept oder einen Gegenstand zu verweisen. Sie sollten Synonyme festlegen, um Äquivalenz von Begriffen herzustellen und Nutzern bei der Suche nach Elementen zu helfen.
Wenn Sie Synonyme definieren möchten, werden Elemente mit dem bekannten Schema _dictionaryEntry
indexiert.
Elemente vom Typ _dictionaryEntry
können die folgenden Eigenschaften haben:
Property | Typ | Beschreibung | Erforderlich? |
---|---|---|---|
_term |
string | Der Begriff, der definiert werden soll. Empfohlene Werte sind Wörter ohne Bindestrich oder Wortgruppen ohne Satzzeichen. | Erforderlich |
_synonym |
string (repeated) | Alternative Begriffe in Abfragen, die mit dem in _term definierten String übereinstimmen. |
Erforderlich |
_onlyApplicableForAttachedSearchApplications |
boolean | Sie können Synonyme nach Datenquelle und Suchanwendung gruppieren. Weitere Informationen finden Sie unter Synonyme für bestimmte Datenquellen definieren. | Optional |
Wenn ein Nutzer den Wert des Attributs _term
in eine Abfrage einfügt, wird die effektive Abfrage zu term ODER-Synonymen. Wenn beispielsweise der Begriff "scifi" mit dem Synonym "science fiction" definiert ist, werden bei einer Abfrage mit dem Wort "scifi" nur Elemente gefunden, die entweder "scifi" oder "science fiction." enthalten.
Synonyme werden nicht bidirektional angewendet. Wenn die Abfrage stattdessen "science fiction," lautet, wendet Cloud Search keine Synonyme auf die Abfrage an. Bei der Abfrage werden nur Elemente gefunden, in denen "science fiction." enthalten ist. Elemente, die "scifi" enthalten, werden weggelassen.
Um beide Begriffe austauschbar zu machen, müssen Sie jeden Begriff einzeln definieren:
Laufzeit | Synonym |
---|---|
scifi | science fiction |
science fiction | scifi |
Bei der Verarbeitung von Abfragen werden Bindestriche und andere Satzzeichen entfernt, bevor Synonyme angewendet werden. Die Nutzerabfrage "sci-fi" stimmt mit _term
"sci fi." überein. Wenn Sie Synonyme für Begriffe erstellen möchten, die von Nutzern mit Bindestrich geschrieben werden können, normalisieren Sie _term
zuerst so, dass Leerzeichen anstelle von Bindestrichen verwendet werden.
Ausgehend vom Beispiel stimmen die folgenden Definitionen überein, dass "sci-fi," "sci fi," "scifi," und "science fiction" in Nutzerabfragen als austauschbar behandelt werden:
Laufzeit | Synonym |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
Standardmäßig gelten Synonyme in allen Datenquellen für die gesamte Domain. Synonyme werden unabhängig von der Datenquelle bei allen Suchanfragen in allen Suchanwendungen angewendet. Wenn Sie Synonyme für bestimmte Datenquellen verwenden möchten, lesen Sie den Abschnitt Synonyme für bestimmte Datenquellen definieren.
Globale Synonyme mit dem Cloud Search SDK definieren
Mit dem Content Connector SDK können Sie Begriffe und deren Synonyme definieren. Eine Anleitung zum Erstellen eines Connectors finden Sie unter Inhaltsconnectors erstellen.
Das folgende Snippet zeigt, wie ein RepositoryDoc
erstellt wird, das den Begriff und sein Synonym basierend auf einem CSV-Dateieintrag darstellt:
Beachten Sie beim Definieren von Synonymen Folgendes:
- Synonymeinträge müssen domainöffentlich sein. Im vorherigen Beispiel wird die ACL auf
DOMAIN_PUBLIC_ACL
gesetzt. - Die folgenden Attribute sollten nicht für die Konfigurationsdatei definiert werden, da sie die Einstellung „Domain Public“ in Ihrem Code überschreiben:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Anwendungsspezifische Synonyme für die Suche definieren
Standardmäßig werden Synonyme auf alle Datenquellen in allen Suchanwendungen angewendet.
Angenommen, Ihre Organisation hat jedoch separate Engineering- und Vertriebsteams und Sie möchten jedem Team eine andere Sucherfahrung bieten, einschließlich rollenspezifischer Synonyme. In diesem Fall könnten Sie eine Suchanwendung mit einer entwicklungsspezifischen Datenquelle und Synonymen und eine weitere Suchanwendung mit einer vertriebsspezifischen Datenquelle und Synonymen erstellen. Indexieren Sie zu diesem Zweck jedes Synonym in einer bestimmten Datenquelle mithilfe von _onlyApplicableForAttachedSearchApplications=true
. Durch diese Einstellung werden die Synonyme so eingeschränkt, dass sie nur auf Suchanwendungen mit einer bestimmten Datenquelle angewendet werden.
Wenn Sie beispielsweise die folgende Codezeile zum vorherigen Codebeispiel hinzufügen, sind die indexierten Synonyme datenquellenspezifisch:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);