in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

This Blog

Syndication

News

Ein guter Blog lebt auch vom Feedback der Leser. Aus diesem Grund möchte ich alle Leser bitten und auffordern, Feedback und Bewertung für einzelne Posts abzugeben. Ich freue mich natürlich auch, wenn mein Blog oder auch einzelne Posts verlinkt werden. Dies hilft anderen Leser und ist zugleich auch Ansporn für mich!

Meine SharePoint-Notizen

SharePoint-Notizen aus meiner täglichen Projektarbeit mit dem Microsoft Office SharePoint Server 2007

How to: Sharepoint-Liste als eigenen Suchbereich einrichten

Die Suche von SharePoint ist ein sehr mächtiges Instrument und mit ein wenig Konfigurationsarbeit kann man sehr mächtige Suchcenter einrichten. Allerdings gibt es ein Manko: man kann keine einzelne SharePoint-Liste direkt als eigenen Suchbereich definieren. Als Basis für einen Suchbereich läßt SharePoint nur die folgende Inhaltsquellen zu: SharePoint-Websites, allg. Websites, Dateifreigaben, öffentliche Exchange-Ordner und Geschäftsdaten zu (siehe folgendes Bild).

 

In unserem eigenen Intranet (natürlich basiered auf einem SharePoint Server 2007) existiert eine Bücherliste, die mittlerweile beachtliche Ausmaße angenommen hat. Bisher wurde diese Bücherliste in den allgemeinen Suchindex aufgenommen. Leider bedeutet dies aber auch, dass Mitarbeiter u.U. eine größere Suchergebnisliste angezeigt bekommen, selbst wenn sie nur nach einem Buch gesucht haben. Aus diesem Grund habe ich mir Gedanken darüber gemacht, wie man unsere Bücherliste als eigenständigen Suchbereich einrichten kann. Mein Ziel ist: ich möchte in unserem Intranet-Suchcenter einen eigenen Suchbereich Bücherliste einrichten und die Ergebnisliste soll nur aus Einträgen aus dieser Bücherliste bestehen.

In diesem Post möchte ich eine auf Metadaten basierte Lösung vorstellen.

Zuerst habe ich in unserer Bücherliste eine neue Spalte eingefügt. Diese Spalte bekommt den Namen MetaTagBookList und ist vom Typ Text. Da hier niemand Daten eingeben soll (bzw. darf), wird diese Spalte fest auf den Defaultwert Bücherliste gesetzt. Diese Spalte soll nur dazu dienen, jeden Eintrag in der Bücherliste mit einem festen MetaTag zu kennzeichnen. Um sicherzustellen, dass hier niemand einen anderen Wert eingibt oder verändert, empfiehlt es sich, diese Spalte aus den Ansichten auszublenden. Wer dies gründlich machen möchte, kann dazu mein SharePoint-Tool "List Field Form Properties" aus diesem Post benutzen. Etwas unschön ist nur die Tatsache, dass man nun alle Einträge in dieser Liste nochmals öffnen und speichern muss, damit jeder Eintrag in der Bücherliste einen gesetzten MetaTag Bücherliste hat. (Dieses Problem läßt sich aber zum Glück mit ein paar Zeilen Code und einem kleinen Entwicklertool lösen.)

So - nun ist die Bücherliste vorbereitet. Als nächstes muss unsere neu-hinzugefügte Spalte MetaTagBookList in die Liste der SharePoint-Metadaten aufgenommen werden. Hierzu startet man einen Crawl der betreffenden Inhaltsquelle. Eigentlich sollte ein inkrementelles Crawling ausreichend sein. Dies hat bei mir aber nicht immer geklappt, weswegen ich dazu übergegangen bin, einen vollständigen Crawl zu starten.

Nachdem das Crawling erfolgreich abgeschlossen wurde, sollten wir unseren neuen Metadaten-Tag MetaTagBookList in der Liste der Metadaten wiederfinden. Dazu öffnen wir die Zentraladministration, klicken auf den SharedService und danach unter der Rubrik Suchen auf den Link Sucheinstellungen. Es öffnet sich eine neue Seite mit den Crawleinstellungen. Ein paar Zeilen tiefer findet sich der Link Eigenschaftenzuordnung für Metadaten, auf den wir jetzt klicken. Es öffnet sich nun eine Liste mit den Eigenschaftenzuordnungen für Metadaten. Hier klicken wir auf Neue verwaltete Eigenschaft und fügen im folgenden Dialog eine neue verwaltete Eigenschaft mit dem Namen Bücherliste hinzu und wählen aus, dass wir diese Eigenschaft in Suchbereichen verwenden möchten! (siehe folgendes Bild).

Nun haben wir eine neue verwaltete Eigenschaft mit dem Namen Bücherliste erzeugt - und diese können wir benutzen, um einen entsprechenden Suchbereich zu definieren. Hierzu gehen wir zurück zu den SharedService-Einstellungen in der Zentraladministration und klicken wieder auf den Link Sucheinstellungen im Bereich Suchen. Wir lassen uns alle Bereiche anzeigen und klicken oben auf Neuer Bereich. Es öffnet sich ein Dialog und wir geben dort unserem neuen Bereich den Namen Bücherliste und wählen aus, dass wir die Standardseite für Suchergebnisse verwenden wollen (siehe folgendes Bild).

Als nächstes müssen wir noch eine Regel für diesen neuen Bereich hinzufügen - schließlich wollen wir nur Ergebnisse aus der Bücherliste als Ergebnis einer Suche in diesem neuen Bereich sehen. Wir klicken also auf Regel hinzufügen und wählen Eigenschaftsabfrage aus. Darunter wählen wir in der Dropdownbox Suchkriterien unsere Bücherliste aus und im darunterliegenden Textfeld geben wir "Bücherliste" ein. Bedeutet: wir wollen nur Ergebnisse, bei denen die Eigenschaft Bücherliste den Wert "Bücherliste" hat. Damit sichergestellt ist, nur Ergebnisse aus der Bücherliste zu bekommen, müssen wir unter Verhalten noch "Erforderlich - Jedes Element muss mit dieser Regel übereinstimmen"  auswählen. (siehe folgendes Bild).

Nach einer Aktualisierung der Bereiche (kann automatisch erfolgen oder manuell angestoßen werden) sollte unser neuer Bereich existieren. Nun können wir diesen Bereich als weiteren Bereich für die Suche definieren. Dazu öffnen wir die Websiteeinstellungen der obersten Ebene und klicken auf Suchbereich unter der Rubrik Websitesammlungsverwaltung. In der Anzeigegruppe Suchdropdown fügen wir unseren neuen Bereich Bücherliste hinzu (siehe Bild).

Sollte in der Spalte Einträge 0 angezeigt werden, ist u.U. ein weiterer Crawl-Durchlauf erforderlich. Nun können wir unser Suchcenter aufrufen und sollten im Bereichsdropdown unseren neuen Bereich Bücherliste vorfinden. Zeit für einen ersten Probelauf: Bereich Bücherliste auswählen und einen Suchbegriff eingeben, der in der Bücherliste vorkommt. Im Suchergebnis sollten jetzt nur Ergbnisse aus unserer Bücherliste auftauchen. Für diesen Post habe ich mir eine kleine Demo erstellt (aus der auch die Screenshots stammen) und da sieht das Ergebnis nun so aus, wie im folgenden Bild dargestellt.

Diese Metadaten kann man auch verwenden, um ein Suchcenter zu erstellen, welches z.B. nur und ausschließlich in unserer Bücherliste sucht. Dies ist dann interessant, wenn man ein Suchcenter mit mehreren spezialisierten Suchfeldern auf unterschiedlichen Seiten haben möchte. Eine kleine Modifikation am Suchfeld-Webpart macht dies möglich. Dazu öffnet man die Webpart-Eigenschaften des Suchfeld-Webparts und trägt in der Rubrik Abfragetextfeld in das Textfeld Zusätzliche Abfrageausdrücke "Bücherliste:Bücherliste" ein - bedeutet auch hier wieder: Bücherliste muss den Wert "Bücherliste" haben. Nun kann man das Bereichsdropdownfeld noch ausblenden und fertig ist ein Suchfeld, dass ausschließlich in unserer Bücherliste sucht (siehe folgendes Bild).


 

Zusammenfassung: Auf diese Weise kann man Benutzern eines Suchcenters sehr anwenderfreundliche Suchbereiche zur Verfügung stellen und es ermöglichen, Suchergebnisse auf eine SharePoint-Liste zu beschränken. Wer die Ausgabe des Suchergebnisses noch anpassen möchte (z.B. das Buchcover einblenden), der findet bei Tobias Zimmergren einen guten Artikel über dieses Thema.

 

Add to Technorati Favorites

Comments

 

Mirrored Blogs said:

Entwicklung Customizing Application.master Ajaxify MOSS - now featuring .Net 3.5 ( CodePlex ) WebDav

June 23, 2008 2:00 AM

Leave a Comment

(required )  
(optional )
(required )  
Add

Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts