絞り込みパネル Web パーツへの絞り込み条件の追加
FAST Search Server 2010 for SharePoint でクエリ結果に新しい絞り込み条件を追加する方法について説明します。
最終更新日: 2011年10月5日
適用対象: SharePoint Server 2010
この記事の内容
インデックス スキーマの管理プロパティに対してクエリ絞り込みを有効にする
絞り込みパネル Web パーツでカスタム クエリ絞り込み条件を構成する
カスタム クエリ絞り込み条件が正しく作成されたことを確認する
この記事では、次の順序で、クエリ結果に新しい絞り込み条件を追加する方法について説明します。
適用先: Microsoft FAST Search Server 2010 for SharePoint
インデックス スキーマの管理プロパティに対してクエリ絞り込みを有効にする
クエリ絞り込みで管理プロパティを使用するには、インデックス スキーマ構成を変更する必要があります。
次の例では、myproperty という管理プロパティに対してクエリ絞り込みを有効にする方法を示します。
$mp = Get-FASTSearchMetadataManagedProperty -Name myproperty
$mp.RefinementEnabled=1
$mp.Update()
$mp
管理プロパティの属性 Queryable が true に設定されていることを確認します。
絞り込み条件をテストするときは、クエリ結果として管理プロパティ データを返すと便利です。管理プロパティの属性 SummaryType が Static に設定されていることを確認します。
抽出されたプロパティに対してクエリ絞り込みを有効にする場合は、管理プロパティの属性 MergeCrawledProperties が true に設定されていることを確認する必要があります。この設定によって、各アイテムで複数の絞り込みを選択できるようになります。
![]() |
---|
検索結果にクエリ絞り込み条件が表示されるようにするには、コンテンツを再クロールする必要があります。 |
絞り込みパネル Web パーツでカスタム クエリ絞り込み条件を構成する
検索 UI にカスタム クエリ絞り込み条件を表示するには、絞り込みパネル Web パーツで絞り込み構成を設定する必要があります。
注意
検索結果 Web パーツを編集するには、SharePoint ファームにおける管理者権限が必要です。
検索結果ページには最大 6 つの絞り込み条件を定義できます。7 つ以上の絞り込み条件を定義する場合は、フィルター カテゴリの定義の最後に一覧表示される絞り込み条件は表示されません。
絞り込みパネル Web パーツでカスタム クエリ絞り込み条件を構成するには
ブラウザーのクエリ結果ページに移動します。URL は、通常、次のようになります。
http://SiteURL/Pages/results.aspx
[サイトの操作] メニューの [ページの編集] をクリックします。
絞り込みパネル Web パーツで、編集矢印をクリックして [Web パーツ] メニューを表示し、[Web パーツの編集] をクリックします。これにより、Web パーツ ツール ウィンドウが開きます。
[絞り込み] セクションで、[既定の構成を使用する] チェック ボックスをオフにします。
[絞り込み] セクションで、[フィルター カテゴリの定義] フィールドをクリックし、次に省略記号 (...) ボタンをクリックします。
これにより、絞り込み条件 Web パーツの FilterCategoriesDefinition プロパティの [テキスト入力] ウィンドウが開きます。このウィンドウで XML を直接変更できます。ただし、コードをファイルにコピーするほうが簡単です。その後、Microsoft Visual Studio 2010 などのアプリケーションを使用してそのファイルを編集できます。
カスタム絞り込み条件を定義に追加する必要があります。以下は、タイトルが My property の myproperty という絞り込み条件の XML 要素の例です。FilterCategories 要素の終了タグの前に定義を追加して、結果ページのクエリ絞り込みセクションの最後に絞り込み条件が表示されるようにすることができます。
<Category Title="My property" Description="Use this filter to restrict results by items related to values in myproperty" Type="Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator" MetadataThreshold="1" NumberOfFiltersToDisplay="4" MaxNumberOfFilters="20" ShowMoreLink="True" MappedProperty="myproperty" MoreLinkText="show more" LessLinkText="show fewer" ShowCounts="Count"/>
絞り込み条件プロパティの詳細については、Category [絞り込み] 要素の XML スキーマ定義を参照してください。
ファイルの編集が終了したら、変更した XML を [テキスト入力] ウィンドウにコピーして、変更を Web パーツに保存できます。
カスタム クエリ絞り込み条件が正しく作成されたことを確認する
カスタム クエリ絞り込み条件が Web パーツに正確に表示されない場合は、最初に、FAST Search Server 2010 for SharePoint からのクエリ結果にプロパティ抽出器用に作成した管理プロパティのデータが含まれていること、および関連する絞り込み条件に対して正しいデータが返されることを確認する必要があります。簡単なのは、Windows PowerShell スクリプトを使用してクエリを発行する方法です。
クエリ絞り込み条件に関連付けられた管理プロパティのデータを含む 1 つ以上のインデックス化されたアイテムがあることを確認する必要があります。
「カスタム クエリ機能のテスト」で指定された Windows PowerShell スクリプトを使用します。
出力内容に基づいて、次を確認できます。
管理プロパティが作成されたかどうか
クロールされたプロパティのマッピングが正しく実行されたかどうか
クエリ絞り込みが正しく構成されたかどうか
絞り込み条件データは表示されるが、絞り込みパネルに表示されない場合は、絞り込みパネルの構成が正しいことを確認する必要があります。
絞り込み条件が表示されない場合は、インデックス スキーマ構成が正しいことを確認し、管理プロパティの値を含む一部のアイテムを再クロールする必要があります。