2007年12月25日 (火)

人の検索で "上司" でフィルタを設定するには

SharePoint Server 2007 には、Active Directory などからユーザー情報を取り込み "人" を検索させる"ユーザープロファイル" 機能があります。今日はユーザープロファイルにまつわる話をご紹介します。なお、ユーザープロファイルそのものの設定手順は "ひと目でわかる~" 等でも紹介しているので、割愛します。

以前、「人の検索をするときに、上司が誰誰さんとなっている部下を検索したい」というご質問をいただいたことがありました。そこで共有サービス管理から確認してみると、ユーザープロファイルのデータベース自体に上司の情報は確かに格納されています。がこれを使ってフィルタ検索しようとするとそのままではうまくいきません。そこで試行錯誤しながら調査してみたのですが(調べること自体には時間がかかりましたが)、いったん手順が分かってしまえば割と簡単に設定できることがわかりました。

大まかな設定手順は次の通りです。

  1. 検索オプションに"上司" フィールドを追加する
  2. 上司で検索できるよう管理プロパティを変更しフルクロールを実行する

検索オプションに "上司" フィールドを追加する

検索ページの"人の検索Webパーツ" に表示される [検索オプション] に "上司" フィールドを追加し、絞り込み検索がしやすくなるように設定します。

Search_manager












手順は以下の通りです。

  1. 検索センターにアクセスし、"人" タブをクリックする
  2. [サイトの操作] メニューから [ページの編集] をクリックする
  3. [人の検索ボックス] Web パーツの [編集] メニューをクリックし、[共有Webパーツの変更]をクリックする
  4. [人の検索ボックス] のツールボックスが表示されたら [その他] セクションを展開し、[プロパティ] フィールドにカーソルを挿入する。すると、フィールド右側に [...] がボタンが表示されるのでこのボタンをクリックする
  5. XML データが表示される(実は、検索オプションの画面はここに記述されている XML を元に表示されています)。このXML の中の "<Property Name="QuickLinks" ManagedName="QuickLinks" ProfileURI="urn:schemas-microsoft-com:sharepoint:portal:profile:QuickLinks"/>" というタグを探し出し、そのすぐ後に <Property Name="Manager" ManagedName="Manager" ProfileURI="urn:schemas-microsoft-com:sharepoint:portal:profile:Manager"/> というタグを追加する(色を変えてある部分は、追加したいプロパティによって異なる部分です。Manager などの名前は、[共有サービス管理]-[ユーザープロファイル プロパティ]-[プロファイル プロパティの表示] で確認できます)。
  6. ツールボックスの [OK] ボタンをクリックし、ページ上部に表示される [発行] ボタンをクリックします。

以上で、検索オプションに "上司フィールド " が表示されるようになります。ただし、5で記述するXMLを間違えるとWebパーツエラーとなるので注意してください。もしエラーとなってしまった場合は "サイトURL ?contents=1"というURLを使って "Webパーツの管理ページ" にアクセスし、問題となった Webパーツを一旦削除後再び同Webパーツを手動で追加してください。

上司で検索できるよう、管理プロパティを変更しフルクロールを実行する

以上の設定だけで上司による絞り込み検索ができればよいのですが、そうはいきません。正確には上記の手順はなくてもよく、たとえば検索ボックスに "Manager:"EXAMPLE\ishigakih" と指定すれば、上司が "ishigakih" さんであるメンバーを検索できます。ただ、こうした入力は煩雑であり、ユーザーには敷居の高いものであるため、上記の手順をご紹介しました。結局、最も重要なのはユーザープロファイルに格納されているプロパティの中にはクロールされないものがあることを知っているかどうかです。既定では部署名や技能プロパティはクロール対象となっているため、絞り込み検索に利用できます。しかし、上司プロパティはクロール対象にはなっていません。次の手順でクロール対象に設定します。

  1. [共有サービス管理] にアクセスする
  2. [ユーザープロファイルと個人用サイト] セクションにある [ユーザープロファイルとプロパティ] をクリックする
  3. [ユーザー プロファイル プロパティ] セクションにある [プロファイル プロパティの表示] をクリックする
  4. [上司] プロパティにカーソルをかざし、表示されるドロップダウンメニューから [編集] をクリックする
  5. [検索の設定] セクションにある "インデックス" チェックボックスをオンにし、[OK] をクリックする (※このチェックボックスをオンにすることでクロール対象となります)

以上の設定が終わったら、フルクロールを実行しておきます。

トラックバック

このページのトラックバックURL: http://bb.lekumo.jp/t/trackback/718613/34255796

人の検索で "上司" でフィルタを設定するにはを参照しているブログ:

コメント