SharePoint Server で検索結果ページに絞り込み条件を追加する方法

適用対象:yes-img-13 2013yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

このシリーズの前の記事「 SharePoint Server の検索結果ページで絞り込み条件を使用する計画」では、サイトで絞り込み条件を特定して使用する方法を示しました。 この記事では、以下について説明します。

クロールされたプロパティを絞り込み可能な管理プロパティにマップする方法

検索センターのシナリオでは、絞り込み可能な次の管理プロパティを使用しました。

使用する絞り込み条件 絞り込み可能な管理プロパティ
管理者
RefinableString01
内部ライター
RefinableString02
編集者
RefinableString03
コンテンツの種類
RefinableString04
要求された公開日
RefinableDate01

クロールされたプロパティを絞り込み可能な管理プロパティにマップする手順は、すべての絞り込み条件で同じです。 例として示す次の手順は、内部ライターを表すクロールされたプロパティを RefinableString01 の絞り込み可能管理プロパティにマップした方法を示しています。

  1. 検索センターの [サイトの設定 ] ページで、[検索スキーマ] を選択します。

    検索スキーマ

  2. [ 管理プロパティ ] フィールドで、クロールされたプロパティをマップする絞り込み可能管理プロパティの名前を入力してから、矢印ボタンをクリックします。

    このシナリオでは、 RefinableString01 と入力しました。

    RefinableString01 の検索

  3. [ プロパティ名 ] フィールドで、[ プロパティの編集/マップ ] を選択します。

    プロパティの編集

  4. [ 管理プロパティの編集 ] ページで、[ マッピングの追加 ] をクリックします。

    マッピングの追加

  5. [ クロールされたプロパティの選択 ] ダイアログで、[ クロールされたプロパティ名の検索 ] フィールドを使用して、この絞り込み可能な管理プロパティにマップするクロールされたプロパティを検索します。

    このシナリオでは、 内部ライター というサイト列を使用する必要がありました。 クロールされたプロパティには、スペースが含まれていません。 そのため、 InternalWriter と入力しました。

    内部作成者の検索

    クロールされたプロパティが 2 つ見つかりました: ows_q_USER_Internal_Writerows_Internal_Writer

    2 つの CP が取得されました

    ここで疑問が生じたとしても無理はありません。 この部分は、少し複雑だからです。 実際には 2 つのクロールされたプロパティがあるのですが、[内部ライター] サイト列が 1 つだけであることを考えると、これは不思議に見える場合があります。 それで問題は、どちらのクロールされたプロパティを、絞り込み可能管理プロパティにマップするために選択するかということです。

    それでは詳しく見てみましょう。 2 つのクロールされたプロパティの違いは、プレフィックスです。 1 つは ows_q_USER_ プレフィックスを持ち、もう 1 つは ows_

    重要

    クロールされたプロパティを絞り込み可能管理プロパティにマップするときは、 ows_ プレフィックスのあるクロールされたプロパティを選択します。

    クロールされたプロパティと管理プロパティの命名規則について詳しくは、「From site column to managed property - What's up with that?」を参照してください。

  6. ows_ プレフィックスのあるクロールされたプロパティを選択して、[OK] をクリックします。

    このシナリオでは、 ows_Internal_Writer を選択しました。

    CP の選択

    [ 管理プロパティの編集 ] ページで、クロールされたプロパティが [ クロールされたプロパティへのマッピング ] フィールドに追加されていることに注意してください。

    マッピングされた CP

  7. [ エイリアス ] フィールドに、絞り込み条件の名前を入力します。

    このシナリオでは、「 InternalWriter 」と入力しました。

    別名フィールド

    ここで入力するエイリアスは、検索結果ページに表示される絞り込み条件名 ではないこと を理解しておくことが重要です。 このエイリアスは、 絞り込み Web パーツ で絞り込み条件を構成する場合の生活を少し簡単にするためのものです (以下の手順を参照)。 リファイン可能な管理プロパティの名前は変更できないことに注意してください。 したがって、構成を行う場合は、 RefinableString01RefinableString02 など、似た名前を持つ多くのリファイン可能な管理プロパティを処理する必要があります。そのため、エイリアスは、プロパティにマップした値を示す適切なリマインダーです。

  8. マッピングを完了するには、[ OK ] をクリックします。

    マッピングの最終処理

    次のスクリーン ショットは、残りの 4 つの絞り込み条件について上記の手順を繰り返した後の最終結果を示しています。

    絞り込み可能な日付

    絞り込み可能な文字列

リストまたはライブラリのインデックスの再作成を開始する方法

使用する絞り込み可能管理プロパティをすべてマップした後に、リストやライブラリのインデックスを再作成する必要があります。 その方法について詳しくは、「検索センター サイト コレクションを作成し、SharePoint サーバーでコンテンツのクロールを有効にする方法」を参照してください。

カスタムの絞り込み条件を使用するように絞り込み Web パーツを構成する方法

既定では、絞り込み Web パーツ は検索結果ページに含まれています。 直前のブログ投稿では、検索結果 Web パーツを構成して新しい検索先を使用する方法を説明しました。 2 つの絞り込み条件、[作成者] と [変更日] も表示されました。

既定の絞り込み条件

カスタムの絞り込み条件を表示するには、以下の操作を行います。

  1. 検索結果ページで、[ 設定 ] メニューをクリックし、[ ページの編集 ] をクリックします。

  2. 絞り込み Web パーツ で、[ Web パーツ メニュー ] をクリックして、[ Web パーツの編集 ] をクリックします。

    Web パーツの編集

  3. [Web パーツ] ツール ウィンドウで、[ 絞り込み条件の選択 ] を選択します。

    絞り込み条件の選択

  4. [ 選択した絞り込み条件 ] セクションで、検索結果ページに表示しない絞り込み条件を選択してから[ 削除 ] をクリックします。

    このシナリオでは、すべての既定の絞り込み条件を削除しました。

    絞り込み条件の削除

  5. [ 使用できる絞り込み条件 ] セクションで、下にスクロールして絞り込み可能管理プロパティを選択します。

    このシナリオでは、 RefinableString1 を選択しました。これは、クロールされたプロパティ ows_Internal_Writer にマップされるリファイン可能な管理プロパティです。 サンプル値 (適切なパス上にあることを示す適切な記号) と、エイリアス InternalWriter が表示されていることに注意してください。

    RefinableString01 が選択されています

  6. [追加] をクリックします。

    絞り込み条件の追加

    RefinableString01 プロパティが [選択した絞り込み条件] セクションに移動します。 絞り込み条件が [選択した絞り込み条件] セクションに移動すると、追加の構成オプションが表示されます。 それらについては、手順 10 と 11 で説明します。

    絞り込み条件の構成

  7. 手順 5 と 6 を繰り返して、検索結果ページで使用するすべての絞り込み条件を追加します。

    このシナリオでは、直前のセクションで構成した 5 つの絞り込み可能管理プロパティを追加しました。

    選択された絞り込み条件

  8. 絞り込み条件のプレビューを表示するには、[ 絞り込み条件のプレビュー ] をクリックします。

    絞り込み条件のプレビュー

  9. 絞り込み条件の表示順序を変更するには、移動する絞り込み条件を選択して、[上に移動] または [下に移動] ボタンをクリックします。

    このシナリオでは、[RefinableString04] を選択して (エイリアス名を参照してください)、それが [選択した絞り込み条件] セクションの最初のプロパティになるまで [上に移動] を選択しました。

    絞り込み条件を上に移動

  10. ユーザーが複数の絞り込み条件値を選択できるようにするには、[ 表示テンプレート ] メニューから [ 複数値の絞り込みアイテム ] を選択します。

    複数の値の絞り込み

    再び [絞り込み条件のプレビュー] をクリックして、[ContentType (コンテンツの種類)] 絞り込み条件 (RefinableString04) が最初に表示されていること、およびユーザーが複数の絞り込み条件値を選択できるようにするためのチェック ボックスがあることを確認しました。

    複数値の絞り込み条件のプレビュー

    絞り込み条件 RefinableString01、RefinableString02、および RefinableString03 に対してこの手順を繰り返しました。

    RefinableDate01 絞り込み条件は、要求された発行日 を表します。 既定では、絞り込み条件値がリストで示されるので、ユーザーは日付範囲を確認することが困難です。

    既定の日付絞り込み条件

    絞り込み条件の値をよりわかりやすい方法で表示するには、[ 絞り込み構成 ] ダイアログの [ テンプレートの表示 ] メニューで、[ 棒グラフ付きスライダー] を選択しました。 [ 日付 ] セクションで、[ 昨日、先週、先月、半年前、および昨年 ] を選択しました。

    バーを使用したスライダーの構成

    絞り込み条件をプレビューすると、 要求された発行日 絞り込み条件 ( RefinableDate01 ) の値が完全にグラフとして表示されました。

    グラフ付きスライダーのプレビュー

    ただし、改善が必要な点は絞り込み条件の表示名です。 RefinableString01RefinableString02 など、ユーザーには意味がありません。

  11. 絞り込み条件の表示名を変更するには、[ 表示名 ] フィールドに、各絞り込み条件のために表示する名前を入力します。

    このシナリオでは、 RefinableString04 絞り 込み条件に「 コンテンツ タイプ 」と入力しました。

    表示名

    この手順を、すべての絞り込み可能管理プロパティで繰り返します。

  12. 構成を保存するには、[絞り込み構成] ダイアログで [OK] をクリックし、Web パーツ ツール ウィンドウで [OK] をクリックします

  13. ページを保存します。

このシナリオでは、検索結果ページに 5 つの絞り込み条件が正しく表示されるようになりました。

絞り込み条件が構成されました

しかし、絞り込み条件をさらに改善する小さな詳細が 1 つありました。 現在、ユーザーは絞り込み条件の値の数値の詳細を表示できませんでした。 たとえば、 検索構成 と関係のある記事を記述したライターの名前を確認できます。 しかし、彼らが書いた記事の数は見つかりませんでした。

作成者「Bella」という絞り込み条件

この情報を参照するためには、絞り込み条件値に [カウント] を追加する必要がありました。

絞り込み条件値にカウントを追加する方法

絞り込み条件の値にカウントを追加するには、表示テンプレートを編集する必要があります。 表示テンプレートの作業をするときは、ネットワーク ドライブをマップすると便利です。 これにより、エクスプ ローラーから表示テンプレートの作業をすることができます。 ステージ 6: SharePoint Server の発行サイトに新しいマスター ページをアップロードして適用 し、ネットワーク ドライブをマップする方法について説明します。

  1. マップされたネットワーク ドライブで、[ テンプレートの表示 ] -->[フィルター] に移動します。

  2. 一度に 1 つの絞り込み条件値だけを選択できる場合の絞り込み条件にカウントを追加するには、HTML ファイルの Filter_Default を開きます。 複数の絞り込み条件値を選択できる場合の絞り込み条件にカウントを追加するには、HTML ファイルの Filter_MultiValue を開きます。

  3. [ ShowCounts ] の値を [ true ] に変更します。

    カウント表示が True

  4. ファイルを保存します。

    絞り込み条件の数が表示されることを確認するには、検索センターにクエリを入力します。

    このシナリオでは、再び 検索構成 を入力しました。 これで、ライターの「Bella Engen」が、検索構成に関連した主題の 5 つの記事のライターであることが示されます。 これで OK です。

    カウント付きの絞り込み条件

このシリーズの次の記事

SharePoint サーバーの検索結果ページの垂直方向のカスタムの検索を追加する方法