Anpassen von Bildersuchabfragen und Nutzen von VorschlägenCustomize and suggest image search queries

In diesem Artikel wird beschrieben, wie Sie Abfragen anpassen und Suchbegriffe vorschlagen, die an die Bing-Bildersuche-API gesendet werden.Use this article to learn how to customize queries and suggest search terms to send to the Bing Image Search API.

Vorschlagen von SuchbegriffenSuggest search terms

Wenn Ihre App über ein Suchfeld verfügt, in das Suchbegriffe eingegeben werden, können Sie die Bing-Vorschlagssuche-API zum Verbessern der Benutzerfreundlichkeit verwenden.If your app has a search box where search terms are entered, you can use the Bing Autosuggest API to improve the experience. Die API kann vorgeschlagene Suchbegriffe in Echtzeit anzeigen.The API can display suggested search terms in real time. Die API gibt vorgeschlagene Abfragezeichenfolgen zurück, die auf Teilen von Suchbegriffen und Cognitive Services basieren.The API returns suggested query strings based on partial search terms and Cognitive Services.

Pivotieren der AbfragePivot the query

Wenn Bing die ursprüngliche Suchabfrage segmentieren kann, enthält das Objekt Images den Wert pivotSuggestions.If Bing can segment the original search query, the returned Images object contains pivotSuggestions. Pivotiertvorschläge können dem Benutzer als optionale Suchbegriffe angezeigt werden.Pivot suggestions can be displayed as optional search terms to the user. Lautet die ursprüngliche Abfrage also beispielsweise Microsoft Surface, kann Bing die Abfrage in Microsoft und Surface segmentieren und dafür jeweils Pivotvorschläge anzeigen.For example, if the original query was Microsoft Surface, Bing might segment the query into Microsoft and Surface and provide suggested pivots for each. Diese Vorschläge können dem Benutzer als optionale Abfragebegriffe angezeigt werden.These suggestions can be displayed as optional query terms to the user.

Das folgende Beispiel veranschaulicht die Pivotvorschläge für Microsoft Surface:The following example shows the pivot suggestions for 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 Feld pivotSuggestions enthält die Liste mit den Segmenten (Pivotwerte), in die die ursprüngliche Abfrage aufgeteilt wurde.The pivotSuggestions field contains the list of segments (pivots) that the original query was broken into. Die Antwort enthält für jeden Pivotwert eine Liste mit Objekten vom Typ Query, die wiederum vorgeschlagene Abfragen enthalten.For each pivot, the response contains a list of Query objects that contain suggested queries. Das Feld text enthält die vorgeschlagene Abfrage.The text field contains the suggested query. Das Feld displayText enthält den Ausdruck, der den Pivotwert in der ursprünglichen Abfrage ersetzt.The displayText field contains the term that replaces the pivot in the original query. Beispiel: Veröffentlichungsdatum von Surface.An example is Release Date of Surface.

Wenn der Benutzer nach der Pivotabfragezeichenfolge sucht, verwenden Sie die Felder text und thumbnail, um die Pivotabfragezeichenfolgen anzuzeigen.If the pivot query string is what the user is looking for, use the text and thumbnail fields to display the pivot query strings. Verwenden Sie die URL webSearchUrl oder searchLink, damit das Miniaturbild bzw. der Text angeklickt werden können.Make the thumbnail and text clickable by using the webSearchUrl URL or the searchLink URL. Verwenden Sie webSearchUrl, um den Benutzer an die Bing-Suchergebnisse zu senden.Use webSearchUrl to send the user to the Bing search results. Wenn Sie Ihre eigene Ergebnisseite angeben, verwenden Sie searchLink.If you provide your own results page, use searchLink.

Erweitern der AbfrageExpand the query

Wenn Bing die Abfrage erweitern kann, um die ursprüngliche Suche einzugrenzen, enthält das Objekt Images das Feld queryExpansions.If Bing can expand the query to narrow the original search, the Images object contains the queryExpansions field. Wenn die Abfrage z. B. Microsoft Surface lautete, können die erweiterten Abfragen wie folgt aussehen:For example, if the query was Microsoft Surface, the expanded queries might be:

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

Das folgende Beispiel zeigt die erweiterten Abfragen für Microsoft Surface:The following example shows the expanded queries for 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 Feld queryExpansions enthält eine Liste mit Objekten vom Typ Query.The queryExpansions field contains a list of Query objects. Das Feld text enthält die erweiterte Abfrage.The text field contains the expanded query. Das Feld displayText enthält den Erweiterungsbegriff.The displayText field contains the expansion term. Wenn der Benutzer nach der erweiterten Abfragezeichenfolge sucht, verwenden Sie die Felder text und thumbnail, um die erweiterte Abfragezeichenfolgen anzuzeigen.If the expanded query string is what the user is looking for, use the text and thumbnail fields to display the expanded query strings. Verwenden Sie die URL webSearchUrl oder searchLink, damit das Miniaturbild bzw. der Text angeklickt werden können.Make the thumbnail and text clickable by using the webSearchUrl URL or the searchLink URL. Verwenden Sie webSearchUrl, um den Benutzer an die Bing-Suchergebnisse zu senden.Use webSearchUrl to send the user to the Bing search results. Wenn Sie Ihre eigene Ergebnisseite angeben, verwenden Sie searchLink.if you provide your own results page, use searchLink.

DrosselungsanforderungenThrottling requests

Der Dienst und Ihr Abonnementtyp bestimmen die zulässige Anzahl von Abfragen pro Sekunde (Queries Per Second, QPS).The service and your subscription type determine the number of queries per second (QPS) that you can make. Stellen Sie sicher, dass Ihre Anwendung die erforderliche Logik enthält, um das Kontingent nicht zu überschreiten.Make sure your application includes the logic to stay within your quota. Wenn der QPS-Grenzwert erreicht oder überschritten wird, ist die Anforderung nicht erfolgreich, und es wird ein HTTP 429-Statuscode zurückgegeben.If the QPS limit is met or exceeded, the request fails and an HTTP 429 status code is returned. Die Antwort enthält den Header Retry-After, der angibt, wie lange bis zum Senden einer weiteren Anforderung gewartet werden muss.The response includes the Retry-After header, which indicates how long you must wait before sending another request.

Denial-of-Service im Vergleich zur DrosselungDenial-of-service versus throttling

Der Dienst unterscheidet zwischen einem DoS-Angriff (Denial-of-Service) und einem QPS-Verstoß.The service makes a differentiation between a denial-of-service (DoS) attack and a QPS violation. Wenn der Dienst einen DoS-Angriff vermutet, ist die Anforderung erfolgreich (HTTP-Statuscode: 200 OK).If the service suspects a DoS attack, the request succeeds (HTTP status code is 200 OK). Der Antworttext ist jedoch leer.However, the body of the response is empty.

Nächste SchritteNext steps

Verwenden Sie die Schnellstartanleitung, falls Sie die Bing-Bildersuche-API noch nicht ausprobiert haben.If you haven't tried the Bing Image Search API before, try a quickstart. Falls Sie nach einem komplexeren Ansatz suchen, können Sie das Tutorial zur Erstellung einer Einzelseiten-Web-App ausprobieren.If you're looking for something more complex, try the tutorial to create a single-page web app.