Görüntü arama sorgularını özelleştirme ve önerme
Uyarı
30 Ekim 2020'de Bing Arama API'leri Azure yapay zeka hizmetlerinden Bing Arama Hizmetlerine taşındı. Bu belgeler yalnızca başvuru için sağlanır. Güncelleştirilmiş belgeler için Bing arama API'sinin belgelerine bakın. Bing araması için yeni Azure kaynakları oluşturma yönergeleri için bkz. Azure Market aracılığıyla Bing Arama kaynağı oluşturma.
Sorguları özelleştirmeyi ve Bing Resim Arama API'sine gönderilecek arama terimlerini önermeyi öğrenmek için bu makaleyi kullanın.
Arama terimleri önerin
Uygulamanızda arama terimlerinin girildiği bir arama kutusu varsa, deneyimi geliştirmek için Bing Otomatik Öneri API'sini kullanabilirsiniz. API önerilen arama terimlerini gerçek zamanlı olarak görüntüleyebilir. API, kısmi arama terimlerine ve Azure AI hizmetlerine göre önerilen sorgu dizelerini döndürür.
Sorguyu özetle
Bing özgün arama sorgusunu segmentlere ayırırsa, döndürülen Images nesnesi içerir pivotSuggestions
. Özet öneriler kullanıcıya isteğe bağlı arama terimleri olarak görüntülenebilir. Örneğin, özgün sorgu Microsoft Surface ise, Bing sorguyu Microsoft ve Surface'a bölebilir ve her birine yönelik önerilen özetleri sağlayabilir. Bu öneriler kullanıcıya isteğe bağlı sorgu terimleri olarak görüntülenebilir.
Aşağıdaki örnekte Microsoft Surface için özet öneriler gösterilmektedir:
{
"_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
}
pivotSuggestions
alanında özgün sorgunun ayrıldığı parçaların (özetler) listesi bulunur. Her bir özet terim için gelen yanıtta önerilen sorguları içeren Query nesnelerinin listesi yer alır. alanı text
önerilen sorguyu içerir. alanı, displayText
özgün sorgudaki özetin yerini alan terimi içerir. Surface'ın Yayın Tarihi örnek olarak verilmiştir.
Kullanıcının aradığı özet sorgu dizesiyse, özet sorgu dizelerini görüntülemek için ve thumbnail
alanlarını kullanıntext
. URL'yi veya searchLink
URL'yi kullanarak webSearchUrl
küçük resmi ve metni tıklanabilir hale getirin. Kullanıcıyı Bing arama sonuçlarına göndermek için kullanın webSearchUrl
. Kendi sonuçlar sayfanızı sağlarsanız kullanın searchLink
.
Sorguyu genişletme
Bing özgün aramayı daraltmak için sorguyu genişletebiliyorsa Images nesnesi queryExpansions
alanını içerir. Örneğin, sorgu Microsoft Surface ise genişletilmiş sorgular şu şekilde olabilir:
- Microsoft Surface Pro 3.
- Microsoft Surface RT.
- Microsoft Surface Phone.
- Microsoft Surface Hub.
Aşağıdaki örnekte Microsoft Surface için genişletilmiş sorgular gösterilmektedir.
{
"_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
}
queryExpansions
alanı Query nesnelerinin listesini içerir. alanı text
genişletilmiş sorguyu içerir. alanı displayText
genişletme terimini içerir. Kullanıcının aradığı şey genişletilmiş sorgu dizesiyse, genişletilmiş sorgu dizelerini görüntülemek için ve thumbnail
alanlarını kullanıntext
. URL'yi veya searchLink
URL'yi kullanarak webSearchUrl
küçük resmi ve metni tıklanabilir hale getirin. Kullanıcıyı Bing arama sonuçlarına göndermek için kullanın webSearchUrl
. Kendi sonuçlar sayfanızı sağlarsanız kullanın searchLink
.
İstekleri azaltma
Saniye başına yapabileceğiniz sorgu sayısı (QPS), hizmete ve aboneliğinizin türüne göre belirlenir. Uygulamanızın, kotanızın sınırları içinde kalmak için gereken mantığı içerdiğinden emin olun. QPS sınırına ulaşılırsa veya bu sınır aşılırsa istek başarısız olur ve HTTP 429 durum kodu döndürülür. Yanıt, başka bir istek göndermeden önce beklemeniz gereken süreyi gösteren Retry-After
üst bilgisini içerir.
Hizmet reddi ile azaltma karşılaştırması
Hizmette, hizmet reddi (DoS) saldırısıyla QPS ihlali arasında bir ayrım yapılır. Hizmet bir DoS saldırısı olduğundan şüphelenirse istek başarılıyla sonuçlanır (HTTP durum kodu 200 TAMAM). Ancak, yanıt gövdesi boş olur.
Sonraki adımlar
Bing Resim Arama API'sini daha önce denemediyseniz bir hızlı başlangıç deneyin. Daha karmaşık bir şey arıyorsanız, tek sayfalı bir web uygulaması oluşturmak için öğreticiyi deneyin.