Képkeresési lekérdezések testreszabása és ajánlása

Figyelmeztetés

2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search-szolgáltatásokba. Ez a dokumentáció csak referenciaként érhető el. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos utasításokért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.

Ebből a cikkből megtudhatja, hogyan szabhatja testre a lekérdezéseket, és javasolhat keresési kifejezéseket a Bing Image Search API-nak való küldéshez.

Keresési kifejezések ajánlása

Ha az alkalmazás keresőmezője keresési kifejezéseket ad meg, a Bing Autosuggest API-val javíthatja a felhasználói élményt. Az API valós időben megjelenítheti a javasolt keresési kifejezéseket. Az API a javasolt lekérdezési sztringeket részleges keresési kifejezések és Azure AI-szolgáltatások alapján adja vissza.

A lekérdezés kimutatása

Ha a Bing szegmentálhatja az eredeti keresési lekérdezést, a visszaadott Images objektum tartalmazza a következőt pivotSuggestions: . A kimutatásjavaslatok opcionális keresési kifejezésekként jeleníthetők meg a felhasználó számára. Ha például az eredeti lekérdezés a Microsoft Surface volt, a Bing a Microsoftra és a Surface-re szegmentálhatja a lekérdezést, és mindegyikhez javasolt kimutatásokat adhat meg. Ezek a javaslatok opcionális lekérdezési kifejezésekként jeleníthetők meg a felhasználó számára.

Az alábbi példa a Microsoft Surface kimutatásjavaslatait mutatja be:

{
    "_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
}

A pivotSuggestions mező azoknak a szegmenseknek a listáját tartalmazza, amelyekre az eredeti lekérdezést a rendszer felbontotta. A válasz minden szegmenshez kínál olyan Query objektumokat, amelyek a javasolt lekérdezéseket tartalmazzák. A text mező tartalmazza a javasolt lekérdezést. A displayText mező azt a kifejezést tartalmazza, amely az eredeti lekérdezésben lecseréli a kimutatást. Ilyen például a Surface kiadási dátuma.

Ha a felhasználó a kimutatás lekérdezési sztringjét keresi, a és thumbnail a text mező használatával jelenítse meg a kimutatás lekérdezési sztringjét. A miniatűr és a szöveg kattinthatóvá tétele az URL-cím vagy az webSearchUrlsearchLink URL-cím használatával. A használatával webSearchUrl elküldheti a felhasználót a Bing keresési eredményeinek. Ha saját eredményoldalt ad meg, használja a következőt searchLink: .

A lekérdezés kibontása

Ha a Bing ki tudja bővíteni a lekérdezést az eredeti keresés szűkítéséhez, az Images objektumban szerepelni fog a queryExpansions mező. Ha például a lekérdezés a Microsoft Surface volt, a kibontott lekérdezések a következőek lehetnek:

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

Az alábbi példában a Microsoft Surface bővített lekérdezései láthatók.

{
    "_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
}

A queryExpansions mező a Query objektumok listáját tartalmazza. A text mező tartalmazza a kibontott lekérdezést. A displayText mező tartalmazza a bővítési kifejezést. Ha a kibontott lekérdezési sztringet keresi a felhasználó, a és thumbnail a text mezők használatával jelenítse meg a kibontott lekérdezési sztringeket. A miniatűr és a szöveg kattinthatóvá tétele az URL-cím vagy az webSearchUrlsearchLink URL-cím használatával. A használatával webSearchUrl elküldheti a felhasználót a Bing keresési eredményeinek. ha saját találati lapot ad meg, használja a következőt searchLink: .

Kérelmek szabályozása

A szolgáltatás és az előfizetés típusa határozza meg a másodpercenként futtatható lekérdezések számát (QPS). Mindenképpen gondoskodjon arról, hogy az alkalmazás tartalmazza a kvótán belül maradáshoz szükséges logikát. Ha eléri vagy túllépi a QPS határértékét, a kérés meghiúsul, és a rendszer HTTP 429-es állapotkódot ad vissza. A válasz a Retry-After fejlécet is tartalmazza, amely azt adja meg, hogy mennyi ideig kell várnia egy újabb kérés elküldése előtt.

Szolgáltatásmegtagadás kontra szabályozás

A szolgáltatás különbséget tesz a szolgáltatásmegtagadásos (DoS-) támadások és a QPS-eltérések között. Ha DoS-támadást feltételez, a kérés sikeres lesz (200 OK HTTP-állapotkóddal). A választörzs azonban üresen marad.

Következő lépések

Ha még nem próbálta ki a Bing Image Search API-t, próbálkozzon egy rövid útmutatóval. Ha összetettebbet keres, próbálja ki az oktatóanyagot egyoldalas webalkalmazás létrehozásához.