Arbeiten mit dem Webpart für Inhaltssuche – Teil 2 – KQL

Arbeiten mit dem Webpart für Inhaltssuche – Teil 1 Übersicht
Arbeiten mit dem Webpart für Inhaltssuche – Teil 2 – KQL
Arbeiten mit dem Webpart für Inhaltssuche – Teil 3 – Arbeiten mit Displaytemplates
Arbeiten mit dem Webpart für Inhaltssuche – Teil 4 – Vordefinierte Suchen erstellen

Dieser zweite Teil der kleinen Serie über das Arbeiten mit dem Webpart für Inhaltssuche beschäftigt sich mit dem Schreiben der Suchquery für den Webpart. Diese wird in Keyword Query Language (KQL) geschrieben, ist enorm leistungsfähig und dabei nicht einmal kompliziert. Natürlich können die Suchabfragen, welche ich unten beschreibe, auch an allen anderen Orten der SharePoint Suche (Suchergebnisquellen, JS Code, etc.) verwendet werden. Los geht’s.

Um die Beispiele nachvollziehbar zu machen eine kleine Erläuterung, was ich angelegt habe: Es gibt eine Bibliothek mit vier Bildern, welche auch als Inhaltstyp Bild klassifiziert sind. Außerdem gibt es in der Bibliothek auch Videos und MP3. Die Bibliothek heißt BilderTest.

Wenn Sie den Suchwebpart im Modus zum Bearbeiten geöffnet haben, klicken Sie auf die Schaltfläche Change query im oberen Abschnitt des Webparts.

Es öffnet sich ein Overlayfenster mit ziemlich vielen Optionen.

Damit Sie die Suchquery überhaupt eingeben können, klicken Sie auf Switch to Advanced Mode. Wenig überraschend können Sie die Suchquery in das gleichnamige Feld eingeben. Entfernen Sie dazu den schon darin stehenden Inhalt. Folgende Parameter können Sie u.a. für die Query verwenden. Die meisten Parameter werden in der Form Parametername:Wert verwendet.

Parameter Bedeutung Beispiel
path Gibt einen Speicherplatz an, aus dem die Ergebnisse angezeigt werden sollen. Dies kann eine Sitecollection, eine Website oder eine Liste/Bibliothek sein. Path:“http://intranet.contoso.com/ BilderTest“

Würde alle Inhalte aus der Bibliothek BilderTest anzeigen.

ContentTypId Gibt eine ID eines Inhaltstyps an, auf dem Suchergebnisse verengt werden. Um diese ID zu finden, schalten Sie wieder in den QuickMode und wählen bei Select a query den Wert Items matching a content type (System) aus. Weiter unten können Sie dann unter Restrict by content type im
DropDown den gewünschten Inhaltstyp auswählen. Der Wert mit Parameter steht dann im Abfragefeld wenn Sie wieder umschalten.
ContentTypeId:0x010102*

Wählt alle Bilder aus.

Author Damit kann der Autor eines Elementes gesucht und damit gefiltert werden. Author:{User.Name}

Damit werden alle Elemente angezeigt, welche den Benutzer, welcher die Seite gerade aufruft, als Autor enthalten.

FileType Grenzt die Abfrage auf einen Dateiformat, z.B. pdf oder docx, ein. FileType:jpg

Zeige nur JPG Dateien an.

Sie können als Parameter jede verwaltete Eigenschaft nutzen. Wie Sie diese erstellen, ist hier beschrieben für onPremise und für Office 365. Die Parameter können untereinander mit den Operatoren AND und OR verbunden werden. Wenn Sie nichts angegeben, ist es immer ein AND. Wenn Sie ein OR verwenden möchten, so müssen Sie dies großschreiben. Ebenso können Sie + und – bzw. NOT verwenden.

Eine typische Abfrage um alle Bilder in der Bildbibliothek BilderTest anzuzeigen könnte wie unten aussehen. {Pfad} müssen Sie mit Ihrem Pfad ersetzen, dies ist kein Platzhalter im KQL.

Path:“http://{Pfad} / BilderTest/“ ContentTypeId:0x010102*

Um alles außer Bilder, also z.B. nur Videos und MP3 anzuzeigen würde sich anbieten:

Path:“http://{Pfad} / BilderTest/“ NOT ContentTypeId:0x010102*

Um alle meine Dokumente zu sehen:

Path:“http://{Pfad} / BilderTest/“ Author:{User.Name}

Am rechten Rand des Fensters können Sie jeweils eine Vorschau sehen, wenn Sie auf Test query klicken. Wenn Sie den Test in der Suchanwendung in der Zentraladministration durchführen, sehen Sie keine Vorschau sondern erhalten einen Fehler. Dies ist „normal“. Haben Sie die Query fertig, klicken Sie auf OK. Damit Sie eine Änderung auf der Webseite sehen, klicken Sie entweder auf Apply oder auf OK in der Konfiguration des Webparts. Damit die Bilder auch entsprechend angezeigt werden, wählen Sie die Konfiguration wie unten aus.

Der nächste Beitrag wird sich tiefer mit der Darstellung der Ergebnisse, also den DisplayTemplates beschäftigen.

Zum Abschluss noch ein Tipp: Thomas Maier, der SharePoint Schwabe, hat einige gute Gedanken zum Vergleich Google und SharePoint Suche geschrieben. Schauen Sie doch mal rein. https://www.sharepoint-schwabe.de/suche-wie-kann-sie-besser-genutzt-werden-tipps-und-parameter

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
http://www.nicothiemer.de

Arbeiten mit dem Webpart für Inhaltssuche – Teil 1 – Übersicht

Arbeiten mit dem Webpart für Inhaltssuche – Teil 1 Übersicht
Arbeiten mit dem Webpart für Inhaltssuche – Teil 2 – KQL
Arbeiten mit dem Webpart für Inhaltssuche – Teil 3 – Arbeiten mit Displaytemplates
Arbeiten mit dem Webpart für Inhaltssuche – Teil 4 – Vordefinierte Suchen erstellen

Dieser Artikel ist der Start einer mehrteiligen Serie, welche sich mit dem Webpart für Inhaltssuche beschäftigt. Warum ist dieser Webpart in modernen SharePoint Anwendungen so wichtig und warum wird dieser vergleichsweise wenig verwendet? Neben der Beantwortung dieser Fragen werde ich mich auch mit der Konfiguration des Webparts beschäftigen und einige korrekte Anwendungsbeispiele geben.

Wozu das Ganze?

In modernen SharePoint Anwendungen wird versucht auf Drilldown Strukturen zu verzichten. Dies wird erreicht, indem ich den Benutzern z.B. durch Dokumentenrouting eine einzige Stelle gebe um Dokumente hochzuladen und diese dann über Regeln verteilen lasse. Zwingend notwendig dafür ist allerdings eine durchgeplante Informationsarchitektur. Gerade in Zeiten von exponentiellen Informations- und Wissenswachstum ist diese unerlässlich. Der Gedanke ist nun, den Benutzern durchgeplante Bereiche zur Verfügung zu stellen, wo diese an vielen verschiedenen Stellen ihre Informationen erfassen können. Aber über eine zentrale Stelle, z.B. ein Suchcenter oder auch die Startseite einer Anwendung, bereite ich diese Informationen wieder mit der Suche auf. Es ist nicht wichtig, wo eine Information liegt, sofern ich diese z.B. über Inhaltstypen und deren Eigenschaften schnell wiederfinde. Genau dafür ist der Webpart für Inhaltssuche konzipiert.

Grundlagen

Der Webpart für Inhaltssuche wurde in SharePoint 2013 neu eingeführt, ein ganz ähnlicher Webpart, den Suchergebniswebpart gibt es schon viel länger. In SharePoint 2013 und 2016 ist die Ähnlichkeit zwischen den Webparts sehr stark. Der primäre Unterschied ist zum einem, dass der Webpart für Inhaltssuche andere Möglichkeiten für die Konfiguration bietet und im Gegensatz zum Suchergebniswebpart nur in der Enterprise Edition verfügbar ist. Ich werde mich hier aber trotzdem mit dem Webpart für Inhaltssuche beschäftigen. Wenn man die grundlegenden Konzepte verstanden hat, kann man auch den Suchergebniswebpart konfigurieren. Voraussetzung für das Arbeiten mit diesen Webparts ist eine konfigurierte Suchanwendung, welche schon Inhalt indiziert hat.

Der Webpart für Inhaltssuche findet sich in der Gruppe Content Rollup und trägt dort den Namen Content Search. Es gibt auch noch einen Webpart Content Query, welcher mit XSLT arbeitet und daher völlig anders als der Webpart für Inhaltssuche. Wird der Webpart für Inhaltssuche auf einer Seite eingefügt, bekommt man eine Anzeige, mit welcher man in der Regel wenig anfangen kann. Oftmals nur drei graue Kacheln und danach einen nichtssagenden Link.

Den Webpart konfigurieren

Wenn man den Webparts bearbeitet, ist man auch nicht unbedingt schlauer. Was bedeuten jetzt die ganzen Einstellungen im Abschnitt Properties?

Am interessantesten ist zweifellos der Inhalt, welcher sich hinter der Schaltfläche Change query verbirgt. Hier kann ich die Abfrage ändern, welche der Webpart im Suchindex ausführt. Was genau man da machen kann, wird der Inhalt eines weiteren Artikels in nächster Zeit sein. Number of items to show erklärt sich von alleine und gibt eben an, wie viele Ergebnisse aus der Abfrage auf einmal angezeigt werden sollen.

Spannender ist da der Abschnitt Display Templates. Hier wird festgelegt wie die Suchergebnisse präsentiert werden. Dabei helfen zwei Typen von Vorlagen. Das Control Template legt fest, wie die Präsentation der gesamten Suchergebnisse erfolgt. Soll z.B. jedes Ergebnis auf einer Zeile stehen oder sollen diese, wie z.B. bei Bildern üblich, als Slideshow präsentiert werden. Man kann die Ergebnisse auch als Tabelle formatieren, aber das muss man selber entwickeln. In der Abbildung unten ist dies das Template List Table Control.


Das Item Template legt dagegen fest, wie jedes einzelne Suchergebnis angezeigt wird. Da wird auch schnell klar, was der graue Kasten bei den Suchergebnissen sein kann. Es ist ein Platzhalter für ein Bild, was nicht angezeigt werden kann. Logisch, den in der Regel haben Office Dokumente in SharePoint kein Bild hinterlegt.

Stellt man als Template z.B. Two Lines ein, sieht die Ansicht gleich ganz anderes aus.

Allerdings erscheint nur eine Zeile und nicht zwei wie das Template verspricht. Um diese anzuzeigen, muss der Abschnitt Property Mappings erweitert und die Option Change the mapping of managed properties for the fields in the Item Display Template aktiviert werden. Jetzt kann man im Dropdown Line 2 eine Eigenschaft auswählen, welche angezeigt werden soll. In dem DropDown werden u.a. alle verwalteten Eigenschaften angezeigt, welche SharePoint durchsucht. Allerdings ist natürlich nicht jede Eigenschaft an jedes Element gebunden. Ich wähle als Beispiel die Eigenschaft Author, denn diese ist immer vorhanden. Nach ein Klick auf Apply sehen die Suchergebnisse schon anders aus. Natürlich sind auch hier eigene Anpassungen möglich. Es lohnt sich, hier ein wenig zu experimentieren.

Die Einstellungen im Abschnitt Settings sollten
am Anfang unverändert bleiben.

Da dies der letzte Beitrag im Jahr 2016 ist, wünsche ich allen Lesern dieses Blogs eine frohes Fest und einen guten Rutsch in das neue Jahr!

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
http://www.nicothiemer.de