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

Nico Thiemer

Gast Autor Nico Thiemer

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 Grentzt die Abfrage auf einen Dateiformat, z.B. pdf oder docx, ein. FileType:jpgZeige 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.

 

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