次の方法で共有


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

最終更新日: 2010年6月29日

適用対象: SharePoint Server 2010

SharePoint エンタープライズ検索結果 Web パーツでカスタム プロパティの値を表示するには、Web パーツのプロパティを次のように変更する必要があります。

  • 検索クエリにカスタム プロパティを追加する。

  • カスタム プロパティを表示するように XSLT 変換 (XSLT) を変更する。

注意

検索クエリには管理プロパティのみを使用できます。カスタム プロパティがクロールされたプロパティの場合は、これらの手順が有効になるように、そのプロパティを管理プロパティにマップする必要があります。詳細については、「メタデータを管理する」を参照してください。

検索クエリにプロパティを追加するには

  1. 検索結果ページをブラウザで開き、[サイトの操作] メニューの [ページ コンテンツの編集] をクリックします。

  2. ページが [編集] モードで開いた後に、Web パーツのドロップダウンの矢印をクリックして、[Web パーツ] メニューを開き、[Web パーツの編集] をクリックします。これにより、ツール ウィンドウが開き、Web パーツのプロパティを変更できます。

  3. [プロパティの表示] ノードを展開し、[場所の表示形式を使用] チェック ボックスをオフにします。

  4. [取得されたプロパティ] テキスト ボックスをダブルクリックし、返すプロパティを指定する XML を含むテキストを選択して、そのテキストをクリップボードにコピーし、メモ帳や Microsoft Visual Studio などのエディターに貼り付けます。

  5. 次の構文を使用して、<SelectedColumns> セクション内に管理プロパティ名を含むタグを追加します。

    <Column Name="CustomProperty"/>
    
  6. 更新した XML を [取得されたプロパティ] テキスト ボックスにコピーし、[OK] をクリックして、変更を Web パーツに保存します。

    これで、返される検索結果にプロパティ値が含まれます。「[方法] 検索結果 XML データを表示する」に記載されている手順を使用して、これを確認できます。

    注意

    プロパティを検索結果の一部として表示するには、Web パーツの [XSL] プロパティを変更する必要があります。

新しいプロパティを含めるように Web パーツの XSLT を変更するには

  1. 前述の手順の手順 1. および 2. を繰り返します。

  2. [プロパティの表示] ノードを展開し、[XSL エディター] ボタンをクリックして、[XSL] プロパティの [テキストの入力] ウィンドウを開きます。

  3. ウィンドウの内容を XML エディタにコピーします。このエディタで、カスタム プロパティを表示するように XSLT コードを変更します。

    プロパティの表示方法によって、加える変更が異なります。たとえば、以下のコードのように、DisplayString テンプレートを使用できます。

    <xsl:template name="DisplayString">
        <xsl:param name="str" />
        <xsl:if test='string-length($str) &gt; 0'>
            -
            <xsl:value-of select="$str" />
        </xsl:if>
    </xsl:template>
    

    または、カスタム プロパティ用のテンプレートを作成し、<xsl:call-template> 要素を使用してこのテンプレートを指定することもできます。この処理の詳細については、「<xsl:call-template> 要素」のリファレンスを参照してください。

  4. DisplayString テンプレートを呼び出してカスタム プロパティを表示するコードを追加する必要があります。Author プロパティなど、他のメタデータを含むカスタム プロパティを表示するには、次の文字列を検索して、DisplayAuthors テンプレートの call-template コードを探します。

    <xsl:call-template name="DisplayAuthors">

  5. DisplayAuthors テンプレートの </xsl:call-template> 要素を閉じた後に、次の構文を使用して、新しいプロパティの <xsl:call-template> 要素を追加します。

    <xsl:call-template name="DisplayString">
        <xsl:with-param name="str" select="customproperty" />
    </xsl:call-template>
    
    重要重要

    カスタム プロパティ名には、すべて小文字を使用する必要があります。