In meinen Projekten habe ich oft die Forderung, dass in der Suche die Sortierreihenfolge der Ergebnisse in der SharePoint Server Suche eine andere sein soll als die vorgegebene. Für die Sortierreihenfolge der Ergebnisse gibt es sogenannte Rankingmodelle. Diese legen nach bestimmen Kriterien fest, was in den Ergebnissen der Suche zuerst erscheint. Das Standardmodell ist das Relevanzmodell. Dabei wird ausgewertet, wie nah ein Treffer am Benutzer ist. Dabei ist es wichtiger, ob man ein Element erstellt oder geändert als z.B. die Anzahl der Schlagworte in einer Ergebnismenge. Viele Anwender wünschen sich aber z.B. eine Ergebnisliste sortiert nach dem Datum der Erstellung. Dieser Blogartikel soll zeigen, wie Sie die Sortierreihenfolge ändern und auch neue erstellen können.
Sortierreinfolge ändern
Um das folgende nachzuvollziehen, ist es wichtig, dass Sie mit einem Unternehmenssuchcenter arbeiten. Dieses erhalten Sie nach aktivieren der Enterprise Feature und dem Feature zur Veröffentlichungs-Infrastruktur. Ebenso ist es in Office 365 verfügbar. Erstellen Sie, sofern nicht schon vorhanden, eine neue Unterwebsite vom Typ Unternehmenssuchcenter.
Wenn Sie die Website öffnen, sind Sie auf der Suchseite (defaults.aspx), wir müssen aber die Suchergebnisseite anpassen (results.aspx). Geben Sie also in das Suchfeld einen beliebigen Begriff ein und klicken Sie auf Suchen bzw. das Symbol Lupe. Sie werden dann zur Suchergebnisseite weitergeleitet, welche Sie dann bearbeiten.
Wählen Sie anschließend den Webpart Suchergebnisse aus und bearbeiten diesen.
Im Abschnitt Einstellungen aktivieren Sie die Einstellung Sortierdropdown anzeigen und klicken anschließend auf OK.
Es erscheint nun über den Ergebnissen ein Dropdown, in welchen Sie verschiedene Sortierreihenfolge auswählen können. Klicken Sie auf Speichern und vergessen Sie nicht, dass die Seite auch veröffentlicht werden muss.
Eigene Sortierreinfolge definieren
Wenn Sie ein wenig mit den Sortierreihenfolge experimentieren, werden Sie feststellen, dass das Modell Datum nicht immer mit den Daten aus SharePoint übereinstimmt. Wenn Sie z.B. die Sortierreihenfolge Datum (neustes) auswählen, wird z.B. ein Dokument A, welches eher als ein Dokument B in SharePoint hoch geladen wurde, vor Dokument B angezeigt. Eigentlich müsste ja Dokument B als erstes erscheinen, da es ja neuer ist. Der Grund für dieses Verhalten liegt darin, dass hier das Datum ausgewertet wird, an welchen das Dokument im Dateisystem erstellt wurde. Wenn also Dokument A als erstes erstellt wurde, wird es auch höher angezeigt. Wollen wir das Datum nutzen, ab dem das Dokument in SharePoint verfügbar war, müssen wir eine eigene Sortierreihenfolge definieren.
Bearbeiten Sie dazu wieder den Webpart Suchergebnisse. In der Einstellung unter der Option Sortierdropdown anzeigen befindet sich ein Textfeld, welches die folgende Zeichenkette enthält.
[{„name“:“Relevanz“,“sorts“:[]},{„name“:“Datum (neustes)“,“sorts“:[{„p“:“Write“,“d“:1}]},{„name“:“Datum (ältestes)“,“sorts“:[{„p“:“Write“,“d“:0}]},{„name“:“Lebensdaueransichten“,“sorts“:[{„p“:“ViewsLifeTime“,“d“:1}]},{„name“:“Zuletzt verwendete Ansichten“,“sorts“:[{„p“:“ViewsRecent“,“d“:1}]}]
Das Format ist einfach zu erkennen. Ändern Sie die Zeichenkette wie unten gezeigt und fügen Sie dieser eine Sortierung nach dem SharePoint Metadatum Created hinzu.
[{„name“:“Relevanz“,“sorts“:[]}, {„name“:“Datum (neustes)“,“sorts“:[{„p“:“Write“,“d“:1}]},{„name“:“Datum (ältestes)“,“sorts“:[{„p“:“Write“,“d“:0}]}, {„name“:“Erstellung in SharePoint“,“sorts“:[{„p“:“Created“,“d“:0}]},{„name“:“Lebensdaueransichten“,“sorts“:[{„p“:“ViewsLifeTime“,“d“:1}]},{„name“:“Zuletzt verwendete Ansichten“,“sorts“:[{„p“:“ViewsRecent“,“d“:1}]}]
Nachdem Sie alles gespeichert und die Seite veröffentlicht haben, sollte jetzt auch die neue Sortierreihenfolge erscheinen. Wenn Sie möchten, können Sie auch neue erstellen. Analog dazu können Sie natürlich auch mit anderen Metadaten von SharePoint arbeiten. Experimentieren Sie ein wenig, es macht Spaß 🙂
Der Kurzlink zu diesem Eintrag ist http://wp.me/p4y7ta-36.
Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular.
Sie wollen mehr über mich erfahren? Dann gehen Sie auf meine Site
http://www.nicothiemer.de
Nico Thiemer