나는 양성 서비스의 문서에 빙 맞춤 검색 API를 사용하려고합니다. 이상한 점은 내가 인도 위치에서 실행할 때 천 가지 이상의 결과를 제공하지만 미국 서버에서 실행하면 25 개 (가끔은 50 개의 결과)가 다시 실행된다는 것입니다. 여기에 대한 샘플 코드 :Bing 맞춤 검색 API는 한 위치에서 제한된 결과 만 반환하고 다른 위치에서 전체 결과 만 반환합니다.
var totalCount = 0;
var filetypes = new List<string> { "pdf", "docx", "doc" };
foreach (var filetype in filetypes)
{
var searchTerm = "microsoft%20.net%20resume+filetype%3a" + filetype;
Console.WriteLine("Searching for : " + filetype);
for (var i = 0; i < 40; i++)
{
var nextCount = 0;
var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" +
"q=" + searchTerm +
"&customconfig=" + customConfigId +
"&count=25" + "&offset=" + ((i * 25) + nextCount);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
var httpResponseMessage = client.GetAsync(url).Result;
var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
BingCustomSearchResponse response =
JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
if (response.webPages == null || response.webPages.value.Length <= 0)
{
Console.WriteLine("response.webPages is null ");
break;
}
foreach (var webPage in response.webPages.value)
{
Console.WriteLine("name: " + webPage.name);
Console.WriteLine("url: " + webPage.url);
Console.WriteLine("displayUrl: " + webPage.displayUrl);
Console.WriteLine("snippet: " + webPage.snippet);
Console.WriteLine("dateLastCrawled: " + webPage.dateLastCrawled);
Console.WriteLine();
}
totalCount = totalCount + response.webPages.value.Length;
}
}
}
구독 키는 시험 사용 키입니다.
요금 제한은 평가판 키 및 유료 구독에 적용됩니다. 유료 가입의 TPS는 https://azure.microsoft.com/en-us/pricing/details/cognitive-services/search-api/web/에서 확인할 수 있습니다. 사용자 정의 검색의 경우, 사용 가능한 키는 1TPS입니다. 대기 시간이 문제인지 여부를 확인하기 위해 통화 사이에 유휴 시간을두고 싶을 수 있습니다. – Ronak