In Organisationen gibt es üblicherweise eine einheitliche Terminologie oder mehrere Möglichkeiten, auf ein Konzept oder Objekt zu verweisen. Sie sollten Nutzer bei der Suche unterstützen, indem Sie Synonyme festlegen, also Begriffe, die austauschbar verwendet werden können.
Wenn Sie Synonyme definieren wollen, lassen Sie Elemente mit dem bekannten Schema _dictionaryEntry
indexieren.
Elemente vom Typ _dictionaryEntry
können die folgenden Attribute haben:
Attribut | Typ | Beschreibung | Erforderlich? |
---|---|---|---|
_term |
string | Der Begriff, der definiert werden soll. Empfohlene Werte sind Wörter ohne Bindestriche oder Wortgruppen ohne Interpunktion. | Erforderlich |
_synonym |
string (repeated) | Alternative Abfragebegriffe, die mit dem String in _term übereinstimmen. |
Erforderlich |
_onlyApplicableForAttachedSearchApplications |
boolean | Hiermit lassen sich 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 Suchanfrage einfügt, lautet die effektive Suchanfrage „Begriff ODER Synonyme“. Wenn der Begriff "scifi" beispielsweise mit dem Synonym "science fiction" definiert ist, werden mit einer Suchanfrage, die das Wort "scifi" enthält, Elemente gefunden, die entweder "scifi" oder "science fiction." enthalten.
Synonyme werden jedoch nicht bidirektional angewendet. Wenn die Abfrage stattdessen "science fiction," enthält, werden ihr von Cloud Search keine Synonyme hinzugefügt. Die Abfrage wird nur auf Elemente angewendet, die "science fiction." enthalten. Elemente mit "scifi" werden nicht berücksichtigt.
Wenn Sie Synonyme bidirektional verwenden möchten, müssen Sie sie für jeden Begriff einzeln bestimmen:
Begriff | Synonyme |
---|---|
scifi | science fiction |
science fiction | scifi |
Bei der Verarbeitung einer Abfrage werden Bindestriche und andere Satzzeichen entfernt, bevor Synonyme angewendet werden. Die Nutzeranfrage "sci-fi" stimmt mit _term
überein."sci fi."
Wenn Sie Synonyme für Begriffe erstellen möchten, die von Nutzern mit Bindestrich geschrieben werden können, müssen Sie für _term
zuerst festlegen, dass Leerzeichen anstatt von Bindestrichen verwendet werden.
Für das vorherige Beispiel würde das bedeuten, dass in Nutzerabfragen die Begriffe "sci-fi," "sci fi," "scifi," und "science fiction" austauschbar verwendet werden können:
Begriff | Synonyme |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
Standardmäßig gelten Synonyme in allen Datenquellen für eine gesamte Domain. Synonyme werden unabhängig von der Datenquelle auf alle Suchanwendungen für alle Suchen angewendet. Sie können aber auch 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. So erstellen Sie einen Inhaltsconnector.
Das folgende Snippet zeigt, wie ein RepositoryDoc
erstellt wird, in dem der Begriff und sein Synonym auf Grundlage eines Eintrags in einer CSV-Datei dargestellt sind:
Beachten Sie beim Definieren von Synonymen Folgendes:
- Für Synonymeinträge muss die Einstellung „domain public“ verwendet werden. Im vorherigen Beispiel wird die Access Control List (ACL) hierfür auf
DOMAIN_PUBLIC_ACL
gesetzt. - Die folgenden Attribute dürfen für die Konfigurationsdatei nicht definiert werden, da sie die Einstellung „domain public“ im Code überschreiben:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Suchanwendungsspezifische Synonyme definieren
Standardmäßig gelten Synonyme für alle Datenquellen in allen Suchanwendungen.
Angenommen, Sie haben in Ihrer Organisation ein Entwickler- und ein Vertriebsteam und möchten die Suche für jedes Team individuell anpassen. Dafür sollen auch tätigkeitsspezifische Synonyme festgelegt werden. In diesem Fall bietet es sich an, eine Suchanwendung mit einer Datenquelle und Synonymen zu erstellen, die spezifisch für Entwickler sind, und eine andere mit einer Datenquelle und Synonymen, die sich auf den Vertrieb beziehen. Dazu müssen Sie jedes Synonym in einer bestimmten Datenquelle mit _onlyApplicableForAttachedSearchApplications=true
indexieren. Damit gelten die Synonyme nur für Suchanwendungen, die eine bestimmte Datenquelle enthalten.
Wenn Sie beim vorherigen Beispiel die folgende Codezeile hinzufügen, werden die indexierten Synonyme datenquellenspezifisch angewendet:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);