SharePoint 検索のカスタマイズ 2 (検索範囲の設定)

今回から何回かに分けて、前回ご紹介した、すべてのサイトのドキュメント ライブラリから自分が作成したドキュメントだけを検索対象にするためのカスタマイズ方法をご紹介していきます。

<設定するために必要な手順>

  • 検索の範囲を作成
  • 検索センターに新しいタブを作成
  • 検索結果をどう表示するかスタイルシートを編集

やらなきゃいけないことは上記の3つの手順となります。今回は検索の範囲を作成するところをご紹介します。

検索範囲の作成とルールの設定

1. サーバーの全体管理を開き、共有サービス管理から検索の設定を行いたい Web アプリケーションを管理している SSP を開きます。(SharedServices1 とか)
2. [検索の設定] をクリックして検索設定の構成画面を開き、[範囲の表示] をクリックします。
3. 範囲の表示画面から、[新しい範囲] をクリックします。
4. 範囲の作成画面で、[タイトル] を「ドキュメントライブラリ」とし、あとは既定のまま [OK] をクリックします。

clip_image002

5. 範囲の表示画面で、「ドキュメントライブラリ」の [ルールの追加] をクリックします。
clip_image002[6]
6. 範囲ルールの設定画面で、以下のように設定し、[OK] をクリックします。
[範囲ルールの種類] - プロパティ クエリ
[プロパティ クエリ] - contentclass (選択) = STS_ListItem_DocumentLibrary (入力)
[動作] - 必須
clip_image002[8]

7. [更新] をクリックして、更新状態が準備完了となったことを確認します。

ここまでで、範囲の作成と適用するルールの作成は完成です。ここではドキュメントライブラリ内に保存されたドキュメントだけを検索できる範囲を作成しました。

ポイントはプロパティ クエリの設定です。「contentclass = 」の後の部分に何を指定するかで、検索する範囲をドキュメント ライブラリ内のドキュメントや、リスト内のアイテム、ドキュメントライブラリ自体、リスト自体などと、何を検索するのかを絞り込めるのですが、「contentclass = 」のあとの部分に何を入力していいのか分からず、調べるのにちょっと手間がかかりました。

SharePoint の検索では、検索結果は XML データとして返され、画面上にスタイルシートを使ってキレイに表示されていますが、標準で用意されている [すべてのサイト] 範囲で一度検索して、検索結果の XML データからドキュメント ライブラリ内に保存されたドキュメントの contentclass の値を調べました。

ちなみに検索結果の XML データはこんな感じです。(1件分) この中の <contentclass> タグの値を調べました。
clip_image002[10]

<参考 : 検索範囲の絞り込みに使えそうな他の contentclass の値>

検索範囲

contentclass の値

サイトの検索

STS_Web

リストアイテムの検索

STS_ListItem

お知らせアイテムの検索

STS_List_Announcements

ドキュメント ライブラリの検索

STS_List_DocumentLibrary

また、範囲のルールを作成する際のプロパティクエリでの選択肢のなかには、[Author] があるんですね。
clip_image002[12]

これを見て、Author がサイトへのログオンユーザーと等しい場合、というルールも追加してあげればいいのでは?と最初思ったのですが、「Author = [Me]」のようにサイトへのログオンユーザーを取得するキーワードをルールの条件として指定することはできないようです。色々なキーワードを試し、さらに Web で検索も行いけっこう調べたのですが、私が調べた限りではできないようでした。

画面上にも例として 「作成者 = John Doe」 と表示されてるように、特定のユーザーが作成したものという範囲設定を行うときに使うみたいですね。

検索範囲をサイト コレクションで利用できるように設定

サーバーの全体管理で作成した検索範囲をユーザーが利用できるようにするには、さらにサイトコレクション単位での設定が必要です。

1. 検索範囲を利用できるように設定したいサイト コレクションのトップ レベル サイトを開き、サイトの設定画面を開きます。([サイトの操作] – [サイトの設定] – [すべてのサイト設定の変更] をクリックする)
2. サイトの設定画面で、サイト コレクションの管理グループ内の [検索範囲] をクリックします。
3. 範囲の表示画面で、[検索ドロップダウン] をクリックします。
4. 前の手順で作成した検索範囲である [ドキュメントライブラリ] を表示するようチェック ボックスを選択し、[OK] をクリックします。
clip_image002[14]

ここまで設定すると、サイトのトップページの右上にある検索ボックスでドキュメントライブラリ内のドキュメントのみを検索範囲とした利用ができるようになりました。
clip_image002[16]

さらにユーザーが使いやすいように拡張するなら、検索センターにこの範囲を利用できるタブを作成したり、検索結果の表示方法を変更するなどいろいろとカスタマイズを行えますが、検索範囲を設定し、サイト内で利用するためにはこんな設定が必要というわけですね。

では、検索カスタマイズの2回目の投稿はここまでにします。だいぶ長くなっちゃいました。

奥田理恵

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中