Freigeben über


Anpassen und Vorschlagen von Bildsuchabfragen

Warnung

Am 30. Oktober 2020 wurden die Bing Search-APIs von Azure AI-Diensten zu Bing Search Services verschoben. Diese Dokumentation wird nur zur Referenz bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.

In diesem Artikel erfahren Sie, wie Sie Abfragen anpassen und Suchbegriffe vorschlagen, die an die Bing Image Search-API gesendet werden sollen.

Suchbegriffe vorschlagen

Wenn Ihre App über ein Suchfeld verfügt, in das Suchbegriffe eingegeben werden, können Sie die Bing Autouggest-API verwenden, um die Benutzererfahrung zu verbessern. Die API kann vorgeschlagene Suchbegriffe in Echtzeit anzeigen. Die API gibt vorgeschlagene Abfragezeichenfolgen basierend auf teilweisen Suchbegriffen und Azure AI-Diensten zurück.

Pivoten der Abfrage

Wenn Bing die ursprüngliche Suchabfrage segmentieren kann, enthält pivotSuggestionsdas zurückgegebene Images -Objekt . Pivotvorschläge können dem Benutzer als optionale Suchbegriffe angezeigt werden. Wenn es sich bei der ursprünglichen Abfrage beispielsweise um Microsoft Surface handelt, kann Bing die Abfrage in Microsoft und Surface segmentieren und vorgeschlagene Pivots für jede bereitstellen. Diese Vorschläge können dem Benutzer als optionale Abfragebegriffe angezeigt werden.

Das folgende Beispiel zeigt die Pivotvorschläge für Microsoft Surface:

{
    "_type": "Images",
    "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=microsoft%20surface&FORM=OIIARP",
    "totalEstimatedMatches": 1000,
    "value": [...],
    "queryExpansions": [...],
    "pivotSuggestions": [{
        "pivot": "microsoft",
        "suggestions": [{
            "text": "Contoso Surface",
            "displayText": "Contoso",
            "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=OtterBox+Surface&FORM=IRQBPS",
            "searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=Contoso...",
                    "searchLink": "https:\/\/api.cognitive.microsoft.com\/api...",
            "thumbnail": {
                "thumbnailUrl": "https:\/\/tse3.mm.bing.net\/th?q=Contoso+Surface..."
            }
        },
        {
            "text": "Adatum Surface",
            "displayText": "Adatum",
            "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Adatum+Surface&FORM=IRQBPS",
            "searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=...",
            "thumbnail": {
                "thumbnailUrl": "https:\/\/tse3.mm.bing.net\/th?q=Adatum+Surface&pid=Ap..."
            }
        },
        ...
        ]
    },
    {
        "pivot": "surface",
        "suggestions": [{
            "text": "Microsoft Surface4",
            "displayText": "Surface4",
            "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface...",
            "searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?...",
            "thumbnail": {
                "thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft..."
            }
        },
        {
            "text": "Microsoft Tablet",
            "displayText": "Tablet",
            "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Tablet&FORM=IRQBPS",
            "searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?...",
            "thumbnail": {
                "thumbnailUrl": "https:\/\/tse3.mm.bing.net\/th?q=Microsoft+Tablet..."
            }
        },
        ...
    ],
    "nextOffsetAddCount": 0
}

Das pivotSuggestions Feld enthält die Liste der Segmente (Pivots), in die die ursprüngliche Abfrage aufgeteilt wurde. Für jeden Pivot enthält die Antwort eine Liste von Abfrageobjekten , die vorgeschlagene Abfragen enthalten. Das text Feld enthält die vorgeschlagene Abfrage. Das displayText Feld enthält den Ausdruck, der den Pivot in der ursprünglichen Abfrage ersetzt. Ein Beispiel ist das Veröffentlichungsdatum von Surface.

Wenn die Pivot-Abfragezeichenfolge das ist, wonach der Benutzer sucht, verwenden Sie die Felder text und thumbnail, um die Pivot-Abfragezeichenfolgen anzuzeigen. Machen Sie die Miniaturansicht und den Text mit der webSearchUrl URL oder der searchLink URL klickbar. Verwenden Sie webSearchUrl, um den Benutzer zu den Bing-Suchergebnissen zu senden. Wenn Sie Ihre eigene Ergebnisseite angeben, verwenden Sie searchLink.

Erweitern der Abfrage

Wenn Bing die Abfrage erweitern kann, um die ursprüngliche Suche einzugrenzen, enthält das Images-Objekt das queryExpansions Feld. Wenn die Abfrage beispielsweise Microsoft Surface war, können die erweiterten Abfragen wie folgt sein:

  • Microsoft Surface Pro 3.
  • Microsoft Surface RT.
  • Microsoft Surface Phone.
  • Microsoft Surface Hub.

Das folgende Beispiel zeigt die erweiterten Abfragen für Microsoft Surface.

{
    "_type": "Images",
    "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=microsoft%20surface...",
    "totalEstimatedMatches": 1000,
    "value": [...],
    "queryExpansions":  [{
        "text": "Microsoft Surface Pro 3",
        "displayText": "Pro 3",
        "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface+Pro+3...",
        "searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=Microsoft...",
        "thumbnail": {
            "thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft+Surface+Pro+3..."
        }
    },
    {
        "text": "Microsoft Surface RT",
        "displayText": "RT",
        "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface+RT...",
        "searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=...",
        "thumbnail": {
            "thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft+Surface+RT..."
        }
    },
    {
        "text": "Microsoft Surface Phone",
        "displayText": "Phone",
        "webSearchUrl": "https:\/\/www.bing.com\/images\/search?q=Microsoft+Surface+Phone",
        "searchLink": "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=...",
        "thumbnail": {
            "thumbnailUrl": "https:\/\/tse4.mm.bing.net\/th?q=Microsoft+Surface+Phone..."
        }
    }],
    "pivotSuggestions": [...],
    "nextOffsetAddCount": 0
}

Das queryExpansions Feld enthält eine Liste von Query-Objekten . Das text Feld enthält die erweiterte Abfrage. Das displayText Feld enthält den Erweiterungsausdruck. Wenn die erweiterte Abfragezeichenfolge das ist, wonach der Benutzer sucht, verwenden Sie die Felder text und thumbnail, um die erweiterten Abfragezeichenfolgen anzuzeigen. Machen Sie die Miniaturansicht und den Text mit der webSearchUrl URL oder der searchLink URL klickbar. Verwenden Sie webSearchUrl, um den Benutzer zu den Bing-Suchergebnissen zu senden. Wenn Sie Ihre eigene Ergebnisseite angeben, verwenden Sie searchLink.

Drosselungsanforderungen

Der Dienst und Ihr Abonnementtyp bestimmen die Anzahl der Abfragen pro Sekunde (QPS), die Sie erstellen können. Stellen Sie sicher, dass Ihre Anwendung die Logik enthält, um in Ihrem Kontingent zu bleiben. Wenn der QPS-Grenzwert erfüllt oder überschritten wird, schlägt die Anforderung fehl, und ein HTTP 429-Statuscode wird zurückgegeben. Die Antwort enthält den Retry-After Header, der angibt, wie lange Sie warten müssen, bevor Sie eine andere Anforderung senden.

Denial-of-Service gegenüber Drosselung

Der Dienst unterscheidet sich zwischen einem Denial-of-Service-Angriff (DoS) und einer QPS-Verletzung. Wenn der Dienst einen DoS-Angriff vermutet, ist die Anforderung erfolgreich (HTTP-Statuscode ist 200 OK). Der Textkörper der Antwort ist jedoch leer.

Nächste Schritte

Wenn Sie die Bing-Bildsuche-API noch nicht ausprobiert haben, probieren Sie es mit einem Schnellstartaus. Wenn Sie nach etwas Komplexerem suchen, probieren Sie das Tutorial aus, um eine Einzelseitenanwendungzu erstellen.