次の方法で共有


SortByType 列挙体 (Search)

PhoneBook の検索結果の並べ替え順序を指定します。

構文

public enum SortByType

メンバー

メンバー名 説明

Default

PhoneBook の検索結果を既定の並べ替え順序、SearchRequest で指定されている Location からの距離順、またはクエリで指定されている Location の中心からの距離順で返されるように指定します。

Distance

PhoneBook の検索結果を SearchRequest で指定されている Location からの距離順またはクエリで指定されている Location の中心からの距離順で返されるように指定します。

Relevance

PhoneBook の検索結果がクエリに対する応答の適合度順に返されるように指定します。

解説

現行リリースでは、SortByTypePhoneBook の検索結果についてのみ作用します。

この例では、同じクエリに 3 つの SortByType 値を適用した場合の効果をデモンストレーションします。以下では、SortBy プロパティ要求コードを太字で示しています。

for (int i = 0; i < 3; i++)
{
try
    {
MSNSearchService s = new MSNSearchService();
SearchRequest searchRequest = new SearchRequest();
int arraySize = 1;
SourceRequest[] sr = new SourceRequest[arraySize];

sr[0] = new SourceRequest();
sr[0].Source = SourceType.PhoneBook;
sr[0].ResultFields = ResultFieldMask.Title | ResultFieldMask.Description;
switch(i)
                {
case 0:
                    sr[0].SortBy = SortByType.Default;
break;
case 1:
                    sr[0].SortBy = SortByType.Distance;
break;
case 2:
                    sr[0].SortBy = SortByType.Relevance;
break;
default:
                    sr[0].SortBy = SortByType.Default;
break;
                }
searchRequest.Query = "helicopter repair";
searchRequest.Requests = sr;
// Developer Provisioning System で指定されたアプリケーション ID を 二重引用符で囲って 
// SearchRequest の AppID の値として入力します。
searchRequest.AppID = "YOUR_APP_ID_GOES_HERE";
searchRequest.CultureInfo = "en-US";

// Location をシアトル (ワシントン州、米国) の中心に設定し、
// 半径の値を 25.0 マイルに設定します。緯度と経度を表す 10 進数値を使用して、Location を
// 変更し、サポートされている他の場所の住所を返すことができます。
searchRequest.Location = new Location();
double latitude = 47.603828;
double longitude = -122.328567;
double radius = 25.0;
searchRequest.Location.Latitude = latitude;
searchRequest.Location.Longitude = longitude;
searchRequest.Location.Radius = radius;

SearchResponse searchResponse;

searchResponse = s.Search(searchRequest);
foreach (SourceResponse sourceResponse in searchResponse.Responses)
        {
Result[] sourceResults = sourceResponse.Results;
if (searchResponse.Responses[0].Total > 0)
            {
Console.WriteLine(sourceResponse.Source.ToString() + " - 結果総数:" + sourceResponse.Total.ToString());
Console.WriteLine();
Console.WriteLine(sr[0].SortBy.ToString());
Console.WriteLine();
            }
foreach (Result sourceResult in sourceResults)
            {
if ((sourceResult.Title != null) && (sourceResult.Title != String.Empty))
Console.WriteLine("タイトル:" + sourceResult.Title);
if ((sourceResult.Description != null) && (sourceResult.Description != String.Empty))
Console.WriteLine("説明:" + sourceResult.Description);
Console.WriteLine("*****************************************************");
            }
if(i == 2)
Console.WriteLine("終了するにはいずれかのキーを押してください。");
else
Console.WriteLine("続行するにはいずれかのキーを押してください。");
Console.ReadLine();
        }
    }
catch (SoapException fault)
    {
Console.WriteLine(fault.Detail.InnerText.ToString());
Console.WriteLine("終了するにはいずれかのキーを押してください。");
Console.ReadLine();
    }
catch (WebException webx)
    {
Console.WriteLine(webx.ToString());
    }
}

3 つの SortByType 設定をそれぞれ使用した場合のこのクエリの結果は、以下のサンプル出力のようになります。2 番目の検索結果と 3 番目の検索結果では順序が異なっていることを確認してください。

PhoneBook - 結果総数: 50

Default

タイトル:Diamond Machine Works

説明:(206) 633-3960 - 213 N 36th St, Seattle, WA

*****************************************************

タイトル:Pacific Systems Corporation

説明:(206) 284-7743 - 3837 13th Ave W, Seattle, WA

*****************************************************

タイトル:F K Kirsten Ltd

説明:(206) 286-0851 - 1900 W Nickerson St Ste 112, Seattle, WA

*****************************************************

タイトル:WHECO Corp

説明:(206) 762-7713 - 315 S Fontanelle St, Seattle, WA

*****************************************************

タイトル:Agm Fabric Products

説明:(206) 767-3324 - 309 S Cloverdale St, Seattle, WA

*****************************************************

タイトル:Airwest Repair Svc

説明:(206) 767-4510 - 8167 Perimeter Rd S, Seattle, WA

*****************************************************

タイトル:Cascade Airframe Repair Inc

説明:(206) 767-5290 - 8500 Perimeter Rd S # A4, Seattle, WA

*****************************************************

タイトル:Industrial Automation

説明:(206) 763-1025 - 1421 S 93rd St, Seattle, WA

*****************************************************

タイトル:Wilson Products Inc

説明:(206) 852-8150 - 600 108th Ave NE Ste 540, Bellevue, WA

*****************************************************

タイトル:Kawasaki Heavy Industries USA

説明:(425) 889-8636 - 4010 Lake Washington Blvd NE, Kirkland, WA

*****************************************************

続行するにはいずれかのキーを押してください。

PhoneBook - 結果総数: 50

Distance

タイトル:Diamond Machine Works

説明:(206) 633-3960 - 213 N 36th St, Seattle, WA

*****************************************************

タイトル:Pacific Systems Corporation

説明:(206) 284-7743 - 3837 13th Ave W, Seattle, WA

*****************************************************

タイトル:F K Kirsten Ltd

説明:(206) 286-0851 - 1900 W Nickerson St Ste 112, Seattle, WA

*****************************************************

タイトル:WHECO Corp

説明:(206) 762-7713 - 315 S Fontanelle St, Seattle, WA

*****************************************************

タイトル:Agm Fabric Products

説明:(206) 767-3324 - 309 S Cloverdale St, Seattle, WA

*****************************************************

タイトル:Airwest Repair Svc

説明:(206) 767-4510 - 8167 Perimeter Rd S, Seattle, WA

*****************************************************

タイトル:Cascade Airframe Repair Inc

説明:(206) 767-5290 - 8500 Perimeter Rd S # A4, Seattle, WA

*****************************************************

タイトル:Industrial Automation

説明:(206) 763-1025 - 1421 S 93rd St, Seattle, WA

*****************************************************

タイトル:Wilson Products Inc

説明:(206) 852-8150 - 600 108th Ave NE Ste 540, Bellevue, WA

*****************************************************

タイトル:Kawasaki Heavy Industries USA

説明:(425) 889-8636 - 4010 Lake Washington Blvd NE, Kirkland, WA

*****************************************************

続行するにはいずれかのキーを押してください。

PhoneBook - 結果総数: 50

Relevance

タイトル:Diamond Machine Works

説明:(206) 633-3960 - 213 N 36th St, Seattle, WA

*****************************************************

タイトル:Pacific Systems Corporation

説明:(206) 284-7743 - 3837 13th Ave W, Seattle, WA

*****************************************************

タイトル:Agm Fabric Products

説明:(206) 767-3324 - 309 S Cloverdale St, Seattle, WA

*****************************************************

タイトル:F K Kirsten Ltd

説明:(206) 286-0851 - 1900 W Nickerson St Ste 112, Seattle, WA

*****************************************************

タイトル:WHECO Corp

説明:(206) 762-7713 - 315 S Fontanelle St, Seattle, WA

*****************************************************

タイトル:Wilson Products Inc

説明:(206) 852-8150 - 600 108th Ave NE Ste 540, Bellevue, WA

*****************************************************

タイトル:Airwest Repair Svc

説明:(206) 767-4510 - 8167 Perimeter Rd S, Seattle, WA

*****************************************************

タイトル:Industrial Automation

説明:(206) 763-1025 - 1421 S 93rd St, Seattle, WA

*****************************************************

タイトル:Cascade Airframe Repair Inc

説明:(206) 767-5290 - 8500 Perimeter Rd S # A4, Seattle, WA

*****************************************************

タイトル:Kawasaki Heavy Industries USA

説明:(425) 889-8636 - 4010 Lake Washington Blvd NE, Kirkland, WA

*****************************************************

終了するにはいずれかのキーを押してください。