Mengkustomisasi dan menyarankan kueri pencarian gambar
Peringatan
Pada 30 Oktober 2020, API Bing Search dipindahkan dari layanan Azure AI ke Bing Search Services. Dokumentasi ini disediakan hanya untuk referensi. Untuk dokumentasi terbaru, lihat dokumentasi Bing Search API. Untuk petunjuk tentang cara membuat sumber daya Azure baru untuk pencarian Bing, lihat Membuat sumber daya Pencarian Bing melalui Marketplace Azure.
Gunakan artikel ini untuk mempelajari cara mengkustomisasi kueri dan menyarankan istilah pencarian untuk dikirim ke API Pencarian Gambar Bing.
Sarankan otomatis istilah penelusuran
Jika aplikasi Anda memiliki kotak pencarian tempat istilah pencarian dimasukkan, Anda dapat menggunakan API Bing Autosuggest untuk meningkatkan pengalaman. API dapat menampilkan istilah pencarian yang disarankan secara real time. API mengembalikan string kueri yang disarankan berdasarkan istilah pencarian parsial dan layanan Azure AI.
Pivot kueri
Jika Bing dapat memotong kueri penelusuran asli, objek Gambar yang dikembalikan berisi bidang pivotSuggestions
. Saran Pivot dapat ditampilkan sebagai istilah pencarian opsional kepada pengguna. Misalnya, jika kueri asli adalah Microsoft Surface, Bing mungkin memotong kueri ke Microsoft dan Surface serta menyediakan pivot yang disarankan untuk masing-masing. Saran ini dapat ditampilkan sebagai istilah kueri opsional kepada pengguna.
Contoh berikut menunjukkan saran pivot untuk 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
}
Bidang pivotSuggestions
berisi daftar segmen (pivot) yang dipecah kueri asli. Untuk setiap pivot, respons berisi daftar objek Kueri yang berisi kueri yang disarankan. Bidang text
berisi kueri yang disarankan. Bidang displayText
berisi istilah yang menggantikan pivot dalam kueri asli. Contohnya adalah Tanggal Rilis Permukaan.
Jika untai (karakter) kueri pivot adalah apa yang dicari pengguna, gunakan bidang text
dan thumbnail
untuk menampilkan untai (karakter) kueri pivot. Buat gambar mini dan teks dapat diklik dengan menggunakan URL webSearchUrl
atau searchLink
. Gunakan webSearchUrl
untuk mengirim pengguna ke hasil pencarian Bing. Jika Anda menyediakan halaman hasil Anda sendiri, gunakan searchLink
.
Memperluas kueri
Jika Bing dapat memperluas kueri untuk mempersempit pencarian asli, objek Gambar yang berisi bidang queryExpansions
. Misalnya, jika kueri adalah Microsoft Surface, kueri yang diperluas mungkin:
- Microsoft Surface Pro 3.
- Microsoft Surface RT.
- Microsoft Surface Telepon.
- Microsoft Surface Hub.
Contoh berikut menunjukkan kueri yang diperlua untuk 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
}
Bidang queryExpansions
berisi daftar objek Kueri. Bidang text
berisi kueri yang diperluas. Bidang displayText
berisi istilah ekspansi. Jika untai (karakter) kueri diperluas adalah apa yang dicari pengguna, gunakan bidang text
dan thumbnail
untuk menampilkan untai (karakter) kueri yang diperluas. Buat gambar mini dan teks dapat diklik dengan menggunakan URL webSearchUrl
atau searchLink
. Gunakan webSearchUrl
untuk mengirim pengguna ke hasil pencarian Bing. jika Anda menyediakan halaman hasil Anda sendiri, gunakan searchLink
.
Permintaan pembatasan
Layanan dan jenis langganan Anda menentukan jumlah kueri per detik (QPS) yang bisa Anda buat. Pastikan aplikasi Anda menyertakan logika untuk tetap berada dalam kuota Anda. Jika batas QPS terpenuhi atau terlampaui, permintaan gagal dan kode status HTTP 429 dikembalikan. Respons mencakup Retry-After
header, yang menunjukkan berapa lama Anda harus menunggu sebelum mengirim permintaan lain.
Penolakan layanan versus pembatasan
Layanan ini membuat diferensiasi antara serangan denial-of-service (DoS) dan pelanggaran QPS. Jika layanan mencurigai serangan DoS, permintaan berhasil (kode status HTTP adalah 200 OK). Namun, body responsnya kosong.
Langkah berikutnya
Jika Anda belum mencoba API Pencarian Gambar Bing sebelumnya, coba mulai cepat. Jika Anda mencari sesuatu yang lebih kompleks, cobalah tutorial untuk membuat aplikasi web halaman tunggal.