SharePoint Server で検索結果ページに絞り込み条件を追加する方法
適用対象:2016
2019
Subscription Edition
SharePoint in Microsoft 365
このシリーズの前の記事「 SharePoint Server の検索結果ページで絞り込み条件を使用する計画」では、サイトで絞り込み条件を特定して使用する方法を示しました。 この記事では、以下について説明します。
クロールされたプロパティを絞り込み可能な管理プロパティにマップする方法
検索センターのシナリオでは、絞り込み可能な次の管理プロパティを使用しました。
使用する絞り込み条件 | 絞り込み可能な管理プロパティ |
---|---|
管理者 |
RefinableString01 |
内部ライター |
RefinableString02 |
編集者 |
RefinableString03 |
コンテンツの種類 |
RefinableString04 |
要求された公開日 |
RefinableDate01 |
クロールされたプロパティを絞り込み可能な管理プロパティにマップする手順は、すべての絞り込み条件で同じです。 例として示す次の手順は、内部ライターを表すクロールされたプロパティを RefinableString01 の絞り込み可能管理プロパティにマップした方法を示しています。
検索センターの [サイトの設定 ] ページで、[検索スキーマ] を選択します。
[ 管理プロパティ ] フィールドで、クロールされたプロパティをマップする絞り込み可能管理プロパティの名前を入力してから、矢印ボタンをクリックします。
このシナリオでは、 RefinableString01 と入力しました。
[ プロパティ名 ] フィールドで、[ プロパティの編集/マップ ] を選択します。
[ 管理プロパティの編集 ] ページで、[ マッピングの追加 ] をクリックします。
[ クロールされたプロパティの選択 ] ダイアログで、[ クロールされたプロパティ名の検索 ] フィールドを使用して、この絞り込み可能な管理プロパティにマップするクロールされたプロパティを検索します。
このシナリオでは、 内部ライター というサイト列を使用する必要がありました。 クロールされたプロパティには、スペースが含まれていません。 そのため、 InternalWriter と入力しました。
クロールされたプロパティが 2 つ見つかりました: ows_q_USER_Internal_Writer と ows_Internal_Writer 。
ここで疑問が生じたとしても無理はありません。 この部分は、少し複雑だからです。 実際には 2 つのクロールされたプロパティがあるのですが、[内部ライター] サイト列が 1 つだけであることを考えると、これは不思議に見える場合があります。 それで問題は、どちらのクロールされたプロパティを、絞り込み可能管理プロパティにマップするために選択するかということです。
それでは詳しく見てみましょう。 2 つのクロールされたプロパティの違いは、プレフィックスです。 1 つは ows_q_USER_ プレフィックスを持ち、もう 1 つは ows_。
重要
クロールされたプロパティを絞り込み可能管理プロパティにマップするときは、 ows_ プレフィックスのあるクロールされたプロパティを選択します。
クロールされたプロパティと管理プロパティの命名規則について詳しくは、「From site column to managed property - What's up with that?」を参照してください。
ows_ プレフィックスのあるクロールされたプロパティを選択して、[OK] をクリックします。
このシナリオでは、 ows_Internal_Writer を選択しました。
[ 管理プロパティの編集 ] ページで、クロールされたプロパティが [ クロールされたプロパティへのマッピング ] フィールドに追加されていることに注意してください。
[ エイリアス ] フィールドに、絞り込み条件の名前を入力します。
このシナリオでは、「 InternalWriter 」と入力しました。
ここで入力するエイリアスは、検索結果ページに表示される絞り込み条件名 ではないこと を理解しておくことが重要です。 このエイリアスは、 絞り込み Web パーツ で絞り込み条件を構成する場合の生活を少し簡単にするためのものです (以下の手順を参照)。 リファイン可能な管理プロパティの名前は変更できないことに注意してください。 そのため、構成を行う場合は、 RefinableString01 、 RefinableString02 など、似た名前を持つ多くのリファイン可能な管理プロパティを処理する必要があります。そのため、エイリアスは、プロパティにマップした値を示す適切なリマインダーです。
マッピングを完了するには、[ OK ] をクリックします。
次のスクリーン ショットは、残りの 4 つの絞り込み条件について上記の手順を繰り返した後の最終結果を示しています。
リストまたはライブラリのインデックスの再作成を開始する方法
使用する絞り込み可能管理プロパティをすべてマップした後に、リストやライブラリのインデックスを再作成する必要があります。 その方法について詳しくは、「検索センター サイト コレクションを作成し、SharePoint サーバーでコンテンツのクロールを有効にする方法」を参照してください。
カスタムの絞り込み条件を使用するように絞り込み Web パーツを構成する方法
既定では、絞り込み Web パーツ は検索結果ページに含まれています。 直前のブログ投稿では、検索結果 Web パーツを構成して新しい検索先を使用する方法を説明しました。 2 つの絞り込み条件、[作成者] と [変更日] も表示されました。
カスタムの絞り込み条件を表示するには、以下の操作を行います。
検索結果ページで、[ 設定 ] メニューをクリックし、[ ページの編集 ] をクリックします。
絞り込み Web パーツ で、[ Web パーツ メニュー ] をクリックして、[ Web パーツの編集 ] をクリックします。
[Web パーツ] ツール ウィンドウで、[ 絞り込み条件の選択 ] を選択します。
[ 選択した絞り込み条件 ] セクションで、検索結果ページに表示しない絞り込み条件を選択してから[ 削除 ] をクリックします。
このシナリオでは、すべての既定の絞り込み条件を削除しました。
[ 使用できる絞り込み条件 ] セクションで、下にスクロールして絞り込み可能管理プロパティを選択します。
このシナリオでは、 RefinableString1 を選択しました。これは、クロールされたプロパティ ows_Internal_Writer にマップされるリファイン可能な管理プロパティです。 サンプル値 (適切なパス上にあることを示す適切な記号) と、エイリアス InternalWriter が表示されていることに注意してください。
[追加] をクリックします。
RefinableString01 プロパティが [選択した絞り込み条件] セクションに移動します。 絞り込み条件が [選択した絞り込み条件] セクションに移動すると、追加の構成オプションが表示されます。 それらについては、手順 10 と 11 で説明します。
手順 5 と 6 を繰り返して、検索結果ページで使用するすべての絞り込み条件を追加します。
このシナリオでは、直前のセクションで構成した 5 つの絞り込み可能管理プロパティを追加しました。
絞り込み条件のプレビューを表示するには、[ 絞り込み条件のプレビュー ] をクリックします。
絞り込み条件の表示順序を変更するには、移動する絞り込み条件を選択して、[上に移動] または [下に移動] ボタンをクリックします。
このシナリオでは、[RefinableString04] を選択して (エイリアス名を参照してください)、それが [選択した絞り込み条件] セクションの最初のプロパティになるまで [上に移動] を選択しました。
ユーザーが複数の絞り込み条件値を選択できるようにするには、[ 表示テンプレート ] メニューから [ 複数値の絞り込みアイテム ] を選択します。
再び [絞り込み条件のプレビュー] をクリックして、[ContentType (コンテンツの種類)] 絞り込み条件 (RefinableString04) が最初に表示されていること、およびユーザーが複数の絞り込み条件値を選択できるようにするためのチェック ボックスがあることを確認しました。
絞り込み条件 RefinableString01、RefinableString02、および RefinableString03 に対してこの手順を繰り返しました。
RefinableDate01 絞り込み条件は、要求された発行日 を表します。 既定では、絞り込み条件値がリストで示されるので、ユーザーは日付範囲を確認することが困難です。
絞り込み条件の値をよりわかりやすい方法で表示するには、[ 絞り込み構成 ] ダイアログの [ テンプレートの表示 ] メニューで、[ 棒グラフ付きスライダー] を選択しました。 [ 日付 ] セクションで、[ 昨日、先週、先月、半年前、および昨年 ] を選択しました。
絞り込み条件をプレビューすると、 要求された発行日 絞り込み条件 ( RefinableDate01 ) の値が完全にグラフとして表示されました。
ただし、改善が必要な点は絞り込み条件の表示名です。 RefinableString01 、 RefinableString02 など、ユーザーには意味がありません。
絞り込み条件の表示名を変更するには、[ 表示名 ] フィールドに、各絞り込み条件のために表示する名前を入力します。
このシナリオでは、 RefinableString04 絞り 込み条件に「 コンテンツ タイプ 」と入力しました。
この手順を、すべての絞り込み可能管理プロパティで繰り返します。
構成を保存するには、[絞り込み構成] ダイアログで [OK] をクリックし、Web パーツ ツール ウィンドウで [OK] をクリックします。
ページを保存します。
このシナリオでは、検索結果ページに 5 つの絞り込み条件が正しく表示されるようになりました。
しかし、絞り込み条件をさらに改善する小さな詳細が 1 つありました。 現在、ユーザーは絞り込み条件の値の数値の詳細を表示できませんでした。 たとえば、 検索構成 と関係のある記事を記述したライターの名前を確認できます。 しかし、彼らが書いた記事の数は見つかりませんでした。
この情報を参照するためには、絞り込み条件値に [カウント] を追加する必要がありました。
絞り込み条件値にカウントを追加する方法
絞り込み条件の値にカウントを追加するには、表示テンプレートを編集する必要があります。 表示テンプレートの作業をするときは、ネットワーク ドライブをマップすると便利です。 これにより、エクスプ ローラーから表示テンプレートの作業をすることができます。 ステージ 6: SharePoint Server の発行サイトに新しいマスター ページをアップロードして適用 し、ネットワーク ドライブをマップする方法について説明します。
マップされたネットワーク ドライブで、[ 表示テンプレート ] -->Filters に移動します。
一度に 1 つの絞り込み条件値だけを選択できる場合の絞り込み条件にカウントを追加するには、HTML ファイルの Filter_Default を開きます。 複数の絞り込み条件値を選択できる場合の絞り込み条件にカウントを追加するには、HTML ファイルの Filter_MultiValue を開きます。
[ ShowCounts ] の値を [ true ] に変更します。
ファイルを保存します。
絞り込み条件の数が表示されることを確認するには、検索センターにクエリを入力します。
このシナリオでは、再び 検索構成 を入力しました。 これで、ライターの「Bella Engen」が、検索構成に関連した主題の 5 つの記事のライターであることが示されます。 これで OK です。