BingSharp2.0を使用しています。フィルタによる画像検索をしたいので、サンプルのコードに従います。
SearchRequest searchRequest = new SearchRequest { AppId = appId, Query = query, Market = "en-US" };
ImageRequest imageRequest = new ImageRequest();
imageRequest.Filters = buildFilterArray();
imageRequest.Count = imageCount;
imageRequest.Offset = (imageCount * pageNumber);
ImageResponse response = API.Image(searchRequest, imageRequest);
そしてこれはbuildFilterArrayです:
private string[] BuildFilterArray()
{
List<string> filters = new List<string>();
filters.Add("Size:Small");
filters.Add("Size:Medium");
return filters.ToArray();
}
しかし、結果は何も返されません(response.Total == 0)。
その理由は、buildFilterArray()で2つのフィルターを指定したためです。1つを削除する限り(どちらを削除しても)、検索結果は期待どおりに返されます。
これは、IEから直接http getリクエストを発行することによっても証明されました。これにより、次の結果が返されます。
http://api.search.live.net/xml.aspx?AppId=0B409D9BA6759BCD3CC3D8B9A6A90F2907274BC7&Query=tektronix&Version=2.0&Market=en-US&Sources=Image&Image.Count=10&Image.Offset=0&Image.Filters=Size:Small
これはそうではありませんが:
http://api.search.live.net/xml.aspx?AppId=0B409D9BA6759BCD3CC3D8B9A6A90F2907274BC7&Query=tektronix&Version=2.0&Market=en-US&Sources=Image&Image.Count=10&Image.Offset=0&Image.Filters=Size:Medium&Image.Filters=Size:Small
私は何か間違ったことをしていますか?検索リクエストに複数のフィルターを含めるにはどうすればよいですか?