code it

Martins Tech Blog

Best-Bet-Ergebnisse für Suchen konfigurieren

Möchte man Ergebnisse oder Seiten besonders hervorheben, wenn ein Benutzer eine Suche nach einem bestimmten Wort sucht, so eignet sich dafür die Einrichtung von "Best Bet"-Ergebnissen.

Unter "Site Settings" findet sich im Bereich "Site Collection Administration" der Punkt "Search keywords". Hier kann man die "Best Bet"-Einträge definieren: 

Keyword
Keyword beinhaltet das Stichwort, unter dem der Eintrag verwaltet werden soll.

Best Bets
Hier können Links auf externe Verweise hinzugefügt werden, die sich mit dem Thema befassen - z.B. eine interne Knowledgebase oder Wikipedia. Diese werden dann am rechten Rand der Suchergebnisse dargestellt.

Synonyms  
Die hier eingetragenen Wörter stellen die Suchworte dar, nach denen der Endanwender sucht

Contact und Expiry Date
Die hier hinterlegten Informationen dienen der Sicherstellung der Aktualität. Bei Ablauf des Gültigkeitszeitraumes wird der Verantwortliche informiert und kann so prüfen, ob die Informationen noch aktuell und relevant sind.

Sucht man nun entweder nach dem Keyword oder einem der Synonyme, erscheint die definierte Linkliste neben den Suchergebnissen und erlaubt eine direkte Navigation:

Thesaurus-Suche in SharePoint einrichten

SharePoint hat einige interessante Einstellungen, die den Umgang mit der Suche vereinfachen bzw. spannende Einsatzmöglichkeiten erlauben. Heute möchte ich auf die Suche nach Synonymen eingehen.

Besonders bei fachlichen oder abteilungsspezifischen Informationen ist es häufig so, dass die Ersteller der Dokumente oder Seiten diese mit den in diesem Bereich üblichen Wörtern beschreiben. Die Anwender dieser Informationen nutzen für die Suche oft ganz andere Wörter.

Beispielsweise verfasst der Administrator eines Unternehmens ein Dokument zur Bedienung der Alarmanlage und stellt dieses im Intranet für die Belegschaft bereit. Nach kurzer Zeit zeigt sich, dass die Mitarbeiter das Dokument mit der Stichwortsuche nicht finden. 

Warum? Der Administrator hat im Dokument nur die ihm vertraute Bezeichnung "Einbruchmeldeanlage" bzw. die Abkürzung dafür ("EMA") verwendet - die Anwender suchen aber nach dem Wort "Alarmanlage". 

Die Lösung für das Problem findet man in den Thesaurus-Dateien. Diese findet man unter "C:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Config". Eine Kopie dieser Dateien wird in der jeweiligen Webanwendung angelegt (z.B. "C:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications\<AppGuid>\Config").

Es scheint so, als würden auch WSS dieses Feature unterstützen. Die jeweiligen Thesaurusdateien liegen dann unter "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\Data\Config" bzw. "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\Data\Applications\<AppGuid>\Config"

Die für deutsche oder englische Installationen wichtigsten Dateien sind dabei:

  • tseng.xml (English - International)
  • tsenu.xml (English - United States)
  • tsdeu.xml (Deutsch)
  • tsneu.xml (Neutral)

Die neutrale Thesaurus-Datei (tsneu.xml) wird immer angewandt. Zusätzlich dazu wird die jeweilige Sprachdatei verwendet.

Es gibt 2 Arten von Thesaurus-Einträgen.

Replacement-Sets

Ein Replacement Set definiert Wörter, die in Suchen ersetzt werden sollen. So kann man ein Replacement definieren in dem "EMA" durch "Einbruchmeldeanlage" ersetzt. Suchen Nutzer nun nach "EMA", werden Suchergebnisse zurückgegeben, die "Einbruchmeldeanlage" beinhalten, nicht mehr aber Ergebnisse, die "EMA" enthalten. In der Konfigurationsdatei sieht das wie folgt aus:

<replacement> 
<pat>EMA</pat> 
<sub>Einbruchmeldeanlage</sub> 
</replacement>

Innerhalb des replacement-Tags können ein oder mehrere pat-Tags (Worte die ersetzt werden sollen) und auch ein oder mehrere sub-Tags (Ersetzungen) definiert sein.

Expansion Sets

Ein Expansion Set definiert Synonyme. Suchen nach einem der Worte liefert alle Ergebnisse in denen entweder das Wort selbst oder eines der Synonyme vorkommt. Im Beispiel würde der Abschnitt wie folgt definiert werden:

<expansion> 
<sub>Einbruchmeldeanlage</sub> 
<sub>Gefahrenmeldeanlage</sub> 
<sub>EMA</sub> 
<sub>Alarmanlage</sub> 
</expansion>

Nachdem man die Einträge dort vorgenommen hat, findet die Suche wie gewünscht die korrekten Ergebnisse:

Zusätzlich zu den eigentlichen Ergebnissen kann man auch noch Wichtungen und Abkürzungsregeln hinterlegen.

Weighting

Mittels Weighting können Gewichtungen innerhalb des Replacement-Sets definiert werden.

<expansion> 
<sub weight="0.8">Einbruchmeldeanlage</sub>
<sub weight="0.2">EMA</sub> 
<sub weight="0.9">Alarmanlage</sub> 
</expansion>

Stemming

Durch Verwendung von "**" im Pattern, definiert man, dass Stemming angewandt werden soll. Dabei werden auch abgeleitete Wörter gefunden (z.B. Vergangenheitsformen, gebeugte Formen usw.).

So findet die Suche bei Verwendung des Terms <pat>Klaus schrieb den Brief**</pat> oder <sub>Klaus schrieb den Brief**</sub> Dokumente, die folgende Inhalte haben:

  • Klaus schreibt einen Brief
  • Klaus schrieb einen Brief
  • Klaus schreibt Briefe
  • Klaus schrieb Briefe

Die Änderungen in den Thesaurus-Dateien greifen erst nach einem Neustart des Office Server Search-Dienstes.

Meiner Meinung nach ist das ein sehr mächtiges Feature und es ist schade, dass die Einstellungen über xml-Dateien vorzunehmen ist und nicht über die Oberfläche oder stsadm anzupassen ist (zumindest habe ich keine solche Stelle gefunden).