Unterschiedliche Search Datenquellen
Beim Konfigurieren der Datenquelle für die PnP Modern Search WebParts kann zwischen SharePoint Search und Microsoft Search gewählt werden. Die beiden Datenquellen Unterscheiden sich grundsätzlich in der darunterliegenden Technologie, welche uns Microsoft zur Verfügung stellt. Einige Merkmale der verschiedenen Quellen:
SharePoint Search
– Inhalte aus SharePoint z.B. Sites, Bibliotheken, Listen, Dokumente, Elemente, Pages, Personen
– Nutzung von vordefinierten Result Sources wie LocalSharePointResults oder LocalPeopleResults
Microsoft Search
– Inhalte aus SharePoint
– Inhalte aus anderen M365 Apps wie Teams und Outlook
– Nutzung von Microsoft Graph Endpoints
Die Microsoft Search Datenquelle bietet die Möglichkeit, weitere Daten aus den M365 Apps zu durchsuchen und anzuzeigen, u.a. Teams Messages oder Outlook E-Mails. Microsoft Graph wird stetig weiterentwickelt und integriert sich in viele der M365 Apps, zur Zeit stehen 28 Search-Endpoints zur Verfügung, die in den PnP Modern Search WebParts nach und nach verfügbar werden.
Microsoft Graph Endpoints
Über den Graph Explorer können die zur Verfügung stehenden Graph Endpoints geprüft werden. In den PnP Modern Search WebParts können die Entitäten für den Endpoint Search verwendet werden. Die bereitgestellten Endpoints können mittels Beispiel Query direkt gestartet (Request body – Run query) und das Suchergebnis (Response preview) mit allen Eigenschaften überprüft werden.

Ein Auszug aus der oben genannten Dokumentation hilft zum Verständnis, welche Entität – welche Daten anzeigt, allen voran die SharePoint bezogenen Entitäten oder die Entitäten für Teams (chatMessage) und Exchange Online (message).
tityType | Permission scope required to access the items | Source | Comment |
---|---|---|---|
acronym | Acronym.Read.All | Microsoft Search | Acronyms in Microsoft Search in your organization. |
bookmark | Bookmark.Read.All | Microsoft Search | Bookmarks in Microsoft Search in your organization. |
chatMessage | Chat.Read, Chat.ReadWrite, ChannelMessage.Read.All | Teams | Teams messages. |
message | Mail.Read, Mail.ReadWrite | Exchange Online | Email messages. |
event | Calendars.Read, Calendars.ReadWrite | Exchange Online | Calendar events. |
drive | Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All | SharePoint | Document libraries. |
driveItem | Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All | SharePoint and OneDrive | Files, folders, pages, and news. |
list | Sites.Read.All, Sites.ReadWrite.All | SharePoint and OneDrive | Lists. Note that document libraries are also returned as lists. |
listItem | Sites.Read.All, Sites.ReadWrite.All | SharePoint and OneDrive | List items. Note that files and folders are also returned as list items; listItem is the super class of driveItem. |
qna | QnA.Read.All | Microsoft Search | Questions and answers in Microsoft Search in your organization. |
site | Sites.Read.All, Sites.ReadWrite.All | SharePoint | Sites in SharePoint. |
Microsoft Graph im Results WebPart konfigurieren
Um nun mit Microsoft Graph in den PnP Modern Search WebParts loszulegen, muss bei der Datenquelle die Microsoft Search gewählt werden, danach stehen die entsprechenden Einstellungsmöglichkeiten zur Konfiguration der Entität zur Verfügung.

Es stehen die folgenden Entitäten vom Endpoint Search zur Auswahl (vergleichbar mit den Result Sources der SharePoint Search) .

Nun kann das Results WebPart konfiguriert und angepasst werden u.a. der Query wie auch das Layout.
Query in der Microsoft Search Datenquelle
Bei der Verwendung der Microsoft Search Datenquelle kann als Query Text sowohl KQL wie auch Query Variablen verwendet werden. Es braucht keinen separaten, eigenen, Syntax, um Elemente in der Suche anzuzeigen.
Als Beispiel werden mit der Datenquelle Microsoft Search und der Entität Drive Items (Files, folders, pages, and news von SharePoint und OneDrive) alle Dokumente von der Site /sites/MSTEvents angezeigt:
{searchTerms} Path:https://<TENANT>.sharepoint.com/sites/MSTEvents AND IsDocument:1

Zum Prüfen, was Graph effektiv zurückgibt, kann wieder der Graph Explorer verwendet werden:

Graph Properties im Search Layout verwenden
Die Properties von Microsoft Graph können ebenfalls in den Layouts angezeigt werden, dafür muss jeweils pro verwendetes Property ein Layout slot definiert werden. Die zu verwendenden Properties können auch über den Graph Explorer identifiziert werden.

Im PnP Results WebPart (1. Seite) muss nun ein Layout slot für das entsprechende Property erstellt werden.
– Slot name: LastModifiedTime
– Slot field: resource.lastModifiedDateTime (aus Graph)

Der Layout slot kann nun beispielsweise im Cards Layout genutzt werden. In den Layout options kann unter Managed card fields ein bestehender Slot verwendet und der Value entsprechend mit dem eben erstellten Layout slot angepasst werden.
{{slot item @root.slots.LastModifiedTime}}

Durch die Verwendung der Microsoft Search Datenquelle können weitere Daten von M365 in der Suche bereitgestellt werden. Für die Konfiguration kann aber, wie in der SharePoint Search Datenquelle, die KQL wie auch die bestehenden Optionen in den WebParts verwendet werden.