エンタープライズ検索の結果をカスタマイズする

検索ボックスにクエリを入力した後、ブラウザは検索結果ページにリダイレクトされます。クエリ用語は、URL のクエリ文字列の一部としてこのページに渡されます。次に例を示します。

http://Site/SearchCenter/Pages/results.aspx?k=sharepoint&s=All%20Content

検索クエリは、このページ上の主要な検索結果 Web パーツによってインスタンス化された非表示のオブジェクトから、検索コンポーネントに送信されます。この非表示オブジェクトは次に、検索コンポーネントからの検索結果を表示用の結果ページに返します。検索結果のデータには以下のものが含めることができます。

  • 関連する結果

  • 精度の高い検索結果

  • キーワードとおすすめコンテンツの結果

  • クエリの統計

検索結果のレイアウト

結果のページはいくつかの Web パーツの組み合わせであり、ユーザーによって入力された検索クエリについて、それぞれの Web パーツが結果の表示や、結果に関する情報の表示を行います。

検索結果は、XML データとしての非表示のオブジェクトで返されます。非表示のオブジェクトは次に、検索結果の XML データを、結果ページ上のさまざまな検索 Web パーツに渡します。渡される XML データの内容と形式は、データを受け取る Web パーツによって異なります。各 Web パーツは次に XML データを表示しますが、データはその Web パーツの XSL プロパティに対して指定されている XSL 変換に従って書式設定されます。

検索結果のレイアウトをカスタマイズする

検索結果 Web パーツのクラスは、Microsoft.Office.Server.Search.WebControls 名前空間にあります。ただし、これらのクラスはシールされているため、これらを継承する Web パーツを作成して機能をカスタマイズすることはできません。

検索結果ページの表示方法をカスタマイズする場合、以下のオプションがあります。

  • 検索結果ページのレイアウトを、デザイン モードで編集します。

  • [Web パーツ] ツール ウィンドウで任意の検索結果 Web パーツのプロパティを編集します。

    このオプションの詳細については、「Enterprise の主要な検索結果の XSLT 変換」を参照してください。

  • 結果ページで使用するカスケード スタイル シートのユーザー設定のクラスを作成します。

結果ページを追加で作成することも、ページで既存の検索結果 Web パーツを使用することもできます。同じカスタマイズを行うことができます。

先ほど列挙したオプションによって、結果ビューのために行う必要があるレベルのカスタマイズを実現できない場合は、Microsoft.Office.Server.Search.Query オブジェクト モデルと直接通信し、検索結果データの表示を管理するカスタム Web パーツを作成する必要があります。

カスタム Web パーツの詳細については、「カスタム エンタープライズ検索 Web パーツを構築する」を参照してください。

エンタープライズ検索のクエリ オブジェクト モデルの使用方法の詳細については、「Getting Started with the Search Query Object Model (英語)」を参照してください。

検索結果アイテム

実際の検索結果は、図 1 に示す 3 つの Web パーツを使って表示されます。

  • 主要な検索結果。ユーザーの検索クエリに関連する結果を表示します。

  • 精度の高い検索結果 [1]。精度の高い結果を表示します。

  • 精度の高い検索結果 [2]。その検索用語に関して、キーワードの定義と、おすすめコンテンツのリンクがあれば表示します。

これらの Web パーツは実際には、Microsoft.Office.Server.Search.WebControls 名前空間の CoreResultsWebPart クラスである、同じ Web パーツのインスタンスです。これらの Web パーツは、渡される結果データと、その結果を書式設定するために使用する XSLT が異なっています。

以下に、検索結果の XSLT を変更することで行えるカスタマイズの一部を一覧表示します。

  • 取得して表示するプロパティを追加または削除します。

  • 個々の検索結果アイテムで、プロパティをどのように表示するかをカスタマイズします。

  • 検索結果アイテムについて、検索語句を強調表示する際のスタイルをカスタマイズします。

  • ユーザーのクエリに対して検索プロバイダから結果が返されなかった場合に表示するメッセージをカスタマイズします。

検索結果の XSLT 変換コードの詳細については、「Search Results XSL Overview (英語)」セクションのトピックを参照してください。

See Also

タスク

[方法] 検索結果 XML データを表示する

[方法] 検索結果の XSLT 変換を表示して編集する

[方法] 主要な検索結果で返されるプロパティを変更する

概念

Enterprise の主要な検索結果の XSLT 変換