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
Geben Sie der Regel zuerst einen Namen. Sie können nun eine oder mehrere Bedingungen definieren, welche die Regel auslösen sollen. Die einfachste Regel ist die erste, „Die Abfrage stimmt exakt mit dem Stichwort überein“. Hier genügt es, wenn die Suchabfrage ein Wort enthält, welches mit einen der Stichworte übereinstimmt, welches Sie hier angeben. Mehrere Stichworte können Sie mit einem Semikolons trennen. Groß- und Kleinschreibung wird ignoriert.
Nach der Definition der Regeln fügen Sie eine Aktion hinzu. Es gibt drei Aktionen, welche auch miteinander kombiniert werden können. Wir schauen uns die beiden ersten an.
Die Aktion Höhergestuftes Ergebnis hinzufügen fügt Ihnen einen Link über der Liste der Suchergebnisse ein. Diese Link können und müssen Sie frei konfigurieren.
Wenn Sie einen Ergebnisblock hinzufügen möchten, klicken Sie auf den entsprechenden Link. Definieren Sie einen Titel für den Block, welcher auch Variablen aus der Abfrage enthalten kann. Die Abfrage kann jetzt noch transformiert oder auch an eine andere Ergebnisquelle geschickt werden. So wäre es in meinem Beispiel möglich, in dem Block nur Ergebnisse aus der CRM Website anzuzeigen, welche ich vorher in einer Ergebnisquelle konfiguriert habe. Über Einstellungen und Routing können Sie noch mehr erreichen, so z.B. die Änderung des Displaytemplates.
Unter dem Punkt Veröffentlichen können Sie noch einen Zeitraum einschränken, von wann bis wann die Abfrageregel gilt. Speichern Sie am Ende alle Änderungen. Die folgende Abbildung zeigt eine Suche nach CRM vor der Abfrageregel.
Dieselbe Abfrage nach aktivieren der Abfrageregel. 
Um eine Abfrageregel für alle Ergebnisquellen verfügbar zu machen, erstellen Sie zuerst die Regel für eine beliebige Abfrageregel und klicken Sie dann auf Kontext.
Dort können Sie u.a. angeben, dass die Regel für alle Bereiche gelten soll. 





