キーワード管理 (FAST Search Server 2010 for SharePoint)

Microsoft FAST Search Server 2010 for SharePoint のキーワード管理機能を使用して、さまざまなユーザー グループに関連性の高いクエリ結果を提供できます。これには、同意語、おすすめコンテンツ、ページまたはサイトの昇格などがあります。

最終更新日: 2011年9月1日

適用対象: SharePoint Server 2010

キーワードは、検索結果を向上させるために管理者が定義します。クエリにキーワードまたはキーワードの同意語の 1 つを使用すると、おすすめコンテンツまたはビジュアルおすすめコンテンツの形で推奨する結果がクエリ結果とともに返されます。

おすすめコンテンツ、ビジュアルおすすめコンテンツ、ドキュメントの昇格、およびドキュメントの降格は、定義済みのユーザー コンテキストに関連付けることができます。このユーザー コンテキストによって管理者は、特定のユーザー グループに関連する結果を推奨できます。

この記事の内容

適用先: Microsoft FAST Search Server 2010 for SharePoint

クエリでのユーザー コンテキストの使用

カスタム検索アプリケーションを作成するときは、クエリでユーザー コンテキスト情報を提供する必要があります。Microsoft.Search.Query スキーマの UserContext 要素を使用して、1 つ以上のユーザー コンテキストの仕様を追加できます。実際のコンテキストの仕様は UserContextData 要素に追加します。

userContextString は以下の形式に従って書式設定された文字列です。

K:D:v1Dv2Dv3...|K:D:v1Dv2Dv3

表 1. ユーザー コンテキスト構文のコンポーネント

構文のコンポーネント

説明

K

キーワードのキー (たとえば、"職責")。

キーに特殊文字コロン (":")、バックスラッシュ (\")、またはパイプ ("|") を使用する場合は、その文字をエスケープする必要があります。

例: "\:"

D

複数の値を区切るときに使用する区切り記号。区切り記号の最初のインスタンスは、":" 文字で囲み、次の文字列で使用する区切り記号の値を指定します。コンテキスト文字列に値が 1 つしかない場合は、D は空 ("::") のままです。これは、キーに値が 1 つしかないことを意味します。

区切り記号の値は、1 つ以上の文字 (";"、"$"、"STOP" など、1 つの文字または文字列) で構成できます。

区切り記号に ":"、"\"、"|" などの特殊文字は使用できません。

v1..vx

キー K の値。値に区切り記号を入れることはできません。

キーに特殊文字 ":"、"\"、"|" のいずれかを使用する場合は、エスケープする必要があります。

例: "\:"

|

複数のキーと値のペアを区切るときに使用します。

サイト管理者が、クエリを実行しているユーザーが developer の職責を持つ場合にだけ適用するビジュアルおすすめコンテンツ Dev Center を定義したとします。この場合、クエリにはユーザーのコンテキストの仕様を入れる必要があり、この責任を持つユーザーのクエリには次のように userContextString を指定する必要があります。

responsibilities:;:developer

クエリ結果でのおすすめコンテンツとビジュアルおすすめコンテンツの要求

QueryEx Query Web サービス メソッドを使用する場合、IncludeSpecialTermResults 要素を使用しておすすめコンテンツとビジュアルおすすめコンテンツを要求できます。

クエリ結果では、以下のテーブルでおすすめコンテンツとビジュアルおすすめコンテンツを取得します。

  • SpecialTermResults: このテーブルには、キーワードに定義されたおすすめコンテンツごとに 1 つの行が含まれています。

  • VisualBestBetsResults: このテーブルには、キーワードに定義されたビジュアルおすすめコンテンツごとに 1 つの行が含まれています。

2 つのテーブルには、表 2 で示されているものと同じ列があります。

注意

おすすめコンテンツに対して返される一連の列は、SharePoint Server Search および FAST Search Server 2010 for SharePoint とは異なります。

表 2. おすすめコンテンツおよびビジュアルおすすめコンテンツに対して返される結果テーブルの列

説明

Name

おすすめコンテンツまたはビジュアルおすすめコンテンツの名前。

Description

任意の説明。

Keyword

関連するキーワード。このキーワードは以下の形式で提供されます。

KD[<keyword>]

<keyword> は、クエリに一致するキーワードです。

Teaser

検索結果で使用される宣伝文句テキスト。

TeaserContentType

宣伝文句用の任意のコンテンツ タイプ (例: text/html)。

Uri

おすすめコンテンツまたはビジュアルおすすめコンテンツの URI。

おすすめコンテンツの場合、クエリ結果ページに表示できる URI です。

ビジュアルおすすめコンテンツの場合、クエリ結果ページに表示できるグラフィカル要素への URI です。

Position

クエリ結果でのおすすめコンテンツまたはビジュアルおすすめコンテンツの目的の位置。この列は、キーワードに複数のおすすめコンテンツまたはビジュアルおすすめコンテンツが定義されている場合に限り使用されます。

注意

おすすめコンテンツまたはビジュアルおすすめコンテンツの宣伝文句または位置を使用する場合、必ず、サイト コレクション UI ではなく Windows PowerShell を使用してキーワード設定を作成および管理してください。これらの設定は UI で使用できません。

Query Web サービスでのおすすめコンテンツとビジュアルおすすめコンテンツの使用

次の手順は、「[チュートリアル] クライアント アプリケーションから FAST Search Server にクエリを実行する」の手順を拡張するものです。この記事の手順に従って操作してから、次のようにコードを拡張してください。

コード拡張は次のとおりです。

  • クエリ XML でのおすすめコンテンツとビジュアルおすすめコンテンツの要求

  • 2 番目の DataGridView コントロールへのおすすめコンテンツとビジュアルおすすめコンテンツ データの表示

Visual Studio クライアント アプリケーションのコードを拡張するには

  1. queryXML2 文字列の定義を置換して、結果セットにおすすめコンテンツとビジュアルおすすめコンテンツを追加します。

       // queryXML2 is the part of the XML after the query string.
       string queryXML2 = @"
             </QueryText>
          </Context>
          <ResultProvider>FASTSearch</ResultProvider>
          <Range>
             <Count>10</Count>
          </Range>
          <IncludeSpecialTermResults>true</IncludeSpecialTermResults>
       </Query>
    </QueryPacket>";
    
  2. おすすめコンテンツをクエリ結果に追加するには、以下のコード行を queryButton_Click イベントに追加します。

       // Set the second DataGridView data source to the SpecialTermResults table in the DataSet object:
       secondGrid.DataSource = queryResults.Tables["SpecialTermResults"];
    
  3. ビジュアルおすすめコンテンツをクエリ結果に追加するには、以下のコード行を queryButton_Click イベントに追加します。

       // Set the second DataGridView data source to the VisualBestBetsResults table in the DataSet object:
       secondGrid.DataSource = queryResults.Tables["VisualBestBetsResults"];
    

関連項目

参照

Microsoft.Search.Query スキーマの UserContext 要素

UserContextData 要素

概念

[チュートリアル] クライアント アプリケーションから FAST Search Server にクエリを実行する