Share via


searchEntity: query

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Führen Sie eine angegebene Suchabfrage aus. Search Ergebnisse werden in der Antwort bereitgestellt.

Achtung

Bei Ressourcen, die in einer Microsoft Search API-Anfrage und -Antwort verwendet werden, wurden Eigenschaften umbenannt oder entfernt, oder sie sind veraltet. Hier finden Sie weitere Einzelheiten über das Ende der Unterstützung. Aktualisieren Sie Such-API-Abfragen in allen früheren Apps entsprechend.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Mail.Read Acronym.Read.All, Bookmark.Read.All, Calendars.Read, Chat.Read, ExternalItem.Read.All, Files.Read.All, QnA.Read.All, Sites.Read.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Files.Read.All Sites.Read.All

HTTP-Anforderung

POST /search/query

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.
Content-type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.

Parameter Typ Beschreibung
Anforderungen searchRequest-Sammlung Eine Auflistung einer oder mehrerer Suchanforderungen, die jeweils in einem JSON-Blob formatiert sind. Jedes JSON-Blob enthält die in der Antwort erwarteten Ressourcentypen, die zugrunde liegenden Quellen, Pagingparameter, angeforderte Felder und die tatsächliche Suchabfrage. Beachten Sie bekannte Einschränkungen beim Durchsuchen bestimmter Kombinationen von Entitätstypen und beim Sortieren oder Aggregieren von Suchergebnissen.

Antwort

Wenn die Methode erfolgreich verläuft, werden der HTTP 200 OK Antwortcode und eine Auflistung von searchResponse-Objekten im Antworttext zurückgegeben.

Beispiele

Beispiel 1: Einfacher Aufruf zum Ausführen einer Suchanforderung

Das folgende Beispiel zeigt, wie Sie eine Suche durchführen, um erwartete Connectorelemente abzurufen.

Anforderung

POST https://graph.microsoft.com/beta/search/query
Content-type: application/json

{
  "requests": [
    {
      "entityTypes": [
        "externalItem"
      ],
      "contentSources": [
        "/external/connections/connectionfriendlyname"
      ],
      "region": "US",
      "query": {
        "queryString": "contoso product"
      },
      "from": 0,
      "size": 25,
      "fields": [
        "title",
        "description"
      ]
    }
  ]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "searchTerms": [
        "searchTerms-value"
      ],
      "hitsContainers": [
        {
          "hits": [
            {
              "hitId": "1",
              "rank": 1,
              "summary": "_summary-value",
              "resource": "The source field will contain the underlying graph entity part of the response"
            }
          ],
          "total": 47,
          "moreResultsAvailable": true
        }
      ]
    }
  ]
}

Beispiel 2: Grundlegender Aufruf zur Verwendung von queryTemplate

Das folgende Beispiel zeigt, wie sie die abfragbare Eigenschaft createdBy verwenden, um alle von einem Benutzer erstellten Dateien abzurufen.

Anforderung

POST https://graph.microsoft.com/beta/search/query
Content-type: application/json

{
  "requests": [
    {
      "entityTypes": [
        "listItem"
      ],
      "region": "US",
      "query": {
        "queryString": "contoso",
        "queryTemplate":"{searchTerms} CreatedBy:Bob"
      },
      "from": 0,
      "size": 25
    }
  ]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 200 OK
Content-type: application/json

{
    "value": [
        {
            "searchTerms": [
                "contoso"
            ],
            "hitsContainers": [
                {
                    "hits": [
                        {
                            "hitId": "1",
                            "rank": 1,
                            "summary": "_summary-value",
                            "resource": {
                                "@odata.type": "#microsoft.graph.listItem",
                                "id": "c23c7035-73d6-4bad-8901-9e2930d4be8e",
                                "createdBy": {
                                    "user": {
                                        "displayName": "Bob",
                                        "email": "Bob@contoso.com"
                                    }
                                },
                                "createdDateTime": "2021-11-19T17:04:18Z",
                                "lastModifiedDateTime": "2023-03-09T18:52:26Z"
                            }
                        }
                    ],
                    "total": 1,
                    "moreResultsAvailable": false
                }
            ]
        }
    ]
}