Sdílet prostřednictvím


Přizpůsobení a navrhování dotazů pro vyhledávání obrázků

Upozornění

30. října 2020 se rozhraní API Vyhledávání Bingu přesunula ze služeb Azure AI na Vyhledávání Bingu Services. Tato dokumentace je k dispozici pouze pro referenci. Aktualizovanou dokumentaci najdete v dokumentaci k rozhraní API Bingu pro vyhledávání. Pokyny k vytváření nových prostředků Azure pro vyhledávání Bingu najdete v tématu Vytvoření prostředku Vyhledávání Bingu prostřednictvím Azure Marketplace.

V tomto článku se dozvíte, jak přizpůsobit dotazy a navrhnout hledané termíny, které se mají odeslat do rozhraní API Bingu pro vyhledávání obrázků.

Návrhy hledaných výrazů

Pokud má vaše aplikace vyhledávací pole, do kterého se zadávají hledané termíny, můžete k vylepšení prostředí použít rozhraní API pro automatické návrhy Bingu . Rozhraní API může zobrazovat navrhované hledané termíny v reálném čase. Rozhraní API vrací navrhované řetězce dotazů na základě částečných hledaných termínů a služeb Azure AI.

Pivot dotazu

Pokud Bing může segmentovat původní vyhledávací dotaz, vrácený objekt Images obsahuje pivotSuggestions. Návrhy kontingenční tabulky mohou být uživateli zobrazeny jako volitelné hledané termíny. Pokud byl původní dotaz například Microsoft Surface, bing může dotaz segmentovat na Microsoft a Surface a poskytnout navrhované pivoty pro každý z nich. Tyto návrhy se uživateli dají zobrazit jako volitelné termíny dotazu.

Následující příklad ukazuje návrhy pivotů pro 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
}

Pole pivotSuggestions obsahuje seznam segmentů (pivotů), na které se rozdělil původní dotaz. Pro každý pivot obsahuje odpověď seznam objektů Query, které obsahují navrhované dotazy. Pole text obsahuje navrhovaný dotaz. Pole displayText obsahuje termín, který nahrazuje pivot v původním dotazu. Příkladem je Datum vydání zařízení Surface.

Pokud uživatel hledá řetězec kontingenčního dotazu, pomocí text polí a thumbnail zobrazte řetězce kontingenčního dotazu. Na miniaturu a text můžete kliknout pomocí adresy webSearchUrl URL nebo searchLink adresy URL. Slouží webSearchUrl k odeslání uživatele do výsledků hledání Bingem. Pokud zadáte vlastní stránku s výsledky, použijte searchLink.

Rozbalení dotazu

Pokud Bing dokáže rozšířením dotazu zúžit původní hledání, bude objekt Images obsahovat pole queryExpansions. Pokud byl dotaz například Microsoft Surface, rozšířené dotazy můžou být:

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

Následující příklad ukazuje rozšířené dotazy pro dotaz 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
}

Pole queryExpansions obsahuje seznam objektů Query. Pole text obsahuje rozbalený dotaz. Pole displayText obsahuje termín rozšíření. Pokud uživatel hledá rozšířený řetězec dotazu, pomocí text polí a thumbnail zobrazte rozbalené řetězce dotazu. Na miniaturu a text můžete kliknout pomocí adresy webSearchUrl URL nebo searchLink adresy URL. Slouží webSearchUrl k odeslání uživatele do výsledků hledání Bingem. Pokud zadáte vlastní stránku s výsledky, použijte searchLink.

Omezování požadavků

Služba a typ vašeho předplatného určuje počet dotazů, které můžete provést za sekundu (QPS). Ujistěte se, že vaše aplikace obsahuje logiku potřebnou k nepřekročení vaší kvóty. Při dosažení nebo překročení limitu QPS požadavek selže a vrátí se stavový kód HTTP 429. Odpověď zahrnuje hlavičku Retry-After, která označuje, jak dlouho je nutné počkat před odesláním dalšího požadavku.

Odepření služby a omezování

Služba rozlišuje mezi útokem s cílem odepření služby (DoS) a porušením QPS. Pokud služba má podezření na útok DoS, požadavek bude úspěšný (stavový kód HTTP je 200 OK). Text odpovědi však bude prázdný.

Další kroky

Pokud jste rozhraní API Bingu pro vyhledávání obrázků ještě nezkoušeli, zkuste rychlý start. Pokud hledáte něco složitějšího, vyzkoušejte kurz vytvoření jednostránkové webové aplikace.