March, 2013

  • SharePoint Server 2013 の個人用サイトを管理者が作成する方法

    こんにちは。
    SharePoint サポート チームの成田です。

    SharePoint Server 2013 ではソーシャル機能が大幅に強化されていますが、本ブログではソーシャル機能を利用する上で前提となる個人用サイトの作成について触れたいと思います。
    個人用サイトが作成されるタイミングは、ユーザーがサイトページ上の [ニュース フィード] やユーザー名のドロップダウンの [プロファイル] をクリックした場合など、初めて個人用サイトのホスト サイトコレクションにアクセスしたときです。



    個人用サイトの作成がリクエストされると、毎分実行されるタイマージョブ [個人用サイト インスタンス化のインタラクティブな要求のキュー] によってリクエストされたユーザーの個人用サイトが作成され始めます。
    この時、ユーザーは個人用サイトの作成が完了するまで下記のような画面が表示されます。



    数分待ち、個人用サイトの作成が完了すると、下記のようにニュースフィードなどの機能が使用可能になります。



    個人用サイトは、上記のように、ユーザーが個人用サイトのホストサイトコレクションに最初にアクセスしたタイミングで作成されることが基本となりますが、本ブログでは管理者があらかじめ個人用サイトを作成する方法を紹介します。あらかじめ個人用サイトを作成しておくことで、ユーザーが初めて個人用サイトのホストサイト コレクションにアクセスした瞬間からニュース フィードなどの機能を利用できるようになります。

    管理者が個人用サイトを作成する方法
    ============================
    管理者が個人用サイトを作成するには以下のメソッドを利用します。

    UserProfile.CreatePersonalSite メソッド (Microsoft.Office.Server.UserProfiles)
    http://msdn.microsoft.com/ja-jp/library/microsoft.office.server.userprofiles.userprofile.createpersonalsite.aspx

    上記のメソッドを、Visual Studio や PowerShell から実行できます。
    ※個人用サイトを作成する前に、ユーザーのプロファイルが事前に作成されている必要がありますので、手動でプロファイルを追加するか、プロファイル同期によってあらかじめプロファイルが存在することを確認してください。
    ※以下に紹介するコードやスクリプトはサンプルですので、実行環境に合わせて作成し、実行前に十分検証してください。

    1. Visual Studio を使用してプログラムを記述する場合は、以下のようなコードを記述します。
    -----
    SPSite site = new SPSite(http://sharepoint/mysitehost);
    SPServiceContext serviceContext = SPServiceContext.GetContext(site);
    UserProfileManager profileManager = new UserProfileManager(serviceContext);
    UserProfile profile = profileManager.GetUserProfile("domain\\username");
    profile.CreatePersonalSite();
    -----
    http://sharepoint/mysitehost は個人用サイトのホスト サイト コレクションを指定します
    ※domain\\username は個人用サイトを作成するユーザー名を指定します

    2. PowerShell から UserProfile.CreatePersonalSite メソッドを利用するには以下の手順を実施します。

    1) 任意の SharePoint サーバーに管理者アカウントでログオンします。
    2) [スタート] メニューから [SharePoint 2013 管理シェル] を管理者モードで起動します。
    3) 以下のようにコマンドを実行します。
    -----
    $mysite = Get-SPSite http://sharepoint/mysitehost
    $user = "domain\username"
    $context = [Microsoft.Office.Server.ServerContext]::GetContext($mysite)
    $upm =  New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
    $prof = $upm.GetUserProfile($user)
    $prof.CreatePersonalSite()
    -----
    http://sharepoint/mysitehost は個人用サイトのホスト サイト コレクションを指定します
    ※domain\username は個人用サイトを作成するユーザー名を指定します

    上記の例では個人用サイトを 1 ユー��ーずつ作成していますが、必要に応じてユーザー プロファイルを列挙して複数のプロファイルを作成することも可能です。
    例えば以下のブログでは複数の個人用サイトを一気に作成する方法が紹介されています。
    http://msftplayground.com/2010/09/provisioning-my-sites-sharepoint-2010/

    全プロファイルの個人用サイトを作成するということは、プロファイル数分のサイトコレクションを作成するということになるので、作成時には WFE や DB サーバーにある程度の負荷をかけることにご注意ください。(実際の負荷についてはいくつかの個人用サイトを作成してご確認ください)
    大量のプロファイルが存在する場合には複数回に分けて計画的に作成する工夫も必要になるかもしれません。

    いかがでしたでしょうか。
    ソーシャル機能が大幅に向上した SharePoint 2013 をぜひお試しください!

  • SharePoint の Web パーツ ページが表示できない場合のトラブルシューティング

    こんにちは SharePoint サポートの森 健吾 (kenmori) です。

    今回の投稿では、すでに Web キャスト等でも公開しております Web パーツを含むページが予期せぬエラー等で表示できなくなった際のトラブル シューティング方法について SharePoint 2013 をベースとしてご説明します。

    この投稿には SharePoint 2013 での最新情報は少ないものの、バージョンを問わずトラブルシューティングの基礎となりますため、情報を更新する目的で投稿します。

    SharePoint では、製品に用意された様々な Web パーツや、それらをカスタマイズした Web パーツ、または Visual Studio によってカスタマイズしたオリジナルの Web パーツを追加して独自のページを作成することができます。
    しかし、様々なページを実現できるがゆえに、エラーが発生した場合は、どう対処すべきかわからないという状況が想定されます。

    この投稿では、Web パーツ ページが表示できなくなった場合のトラブル シューティングについて説明していきます。
    また、この投稿で使用している画面ショットは、SharePoint 2013 のものを使用していますが、それ以前のバージョンにおいても有効な方法をご紹介します。

     

    エラー画面

    SharePoint では、Web パーツを含むページの表示処理などにおいてエラーが発生し、例外がハンドルされない場合、このように "申し訳ございません。何らかの問題が発生しました。"  などのエラー画面が表示されます。

     
     
      
    このような問題が発生した場合は、次のような手順を行ってください。

     

    トラブル シューティング手順

    Web パーツ ページが表示できない場合のトラブル シューティングを実施するにあたって、最も簡単な方法は Web パーツの管理の画面を使用します。
    最初にこの問題がそのページ特有の現象かどうかを確認するために、URL を直接指定して影響範囲を確認します。
    影響範囲がページ固有である場合は、以下にその手順についてトラブルシューティングの流れをご説明いたします。

     

    手順概要 

    1. Web パーツの管理のページにアクセスします。
    2. 管理画面から 1 つ 1 つ Web パーツを閉じ、元のページにアクセスします。
    3. 手順 2. を正常に表示されるまで繰り返します。
    4. 現象が回避できた時点で、最後に閉じた Web パーツが問題の Web パーツとして断定できます。
    5. この問題となる Web パーツを閉じたまま、その他の Web パーツを元に戻していきます。

     

    さらに、現象発生の原因を追究する場合は、現象発生時のバックアップ データなどをテスト環境に復元し、テスト環境にて継続して調査を実施することをお勧めします。

     

    手順詳細

    1.      Web パーツの管理のページにアクセスします。

    エラー発生画面に [Web パーツの管理のページ] といったリンクが表示されている場合は、このリンクをクリックすることで、Web パーツ ページの管理画面に遷移し、トラブル シューティングを行うことが可能です。

    しかしながら、エラーの種類や深刻さなどによっては、このエラー画面が表示されないことも考えられます。その場合は、ブラウザのアドレス バーにて URL の末尾に ?contents=1 を入力して該当するページの Web パーツ ページの管理画面に遷移することができます。

     

    また ?contents=1 を追加する方法は、SharePoint Server 2010, 2007 等の以前のバージョンの SharePoint においても使用できます。

     

    2.      管理画面から 1 つ 1 つ Web パーツを閉じ、元のページにアクセスします。

    3.      手順 2. を正常に表示されるまで繰り返します。

    4.      現象が回避できた時点で、最後に閉じた Web パーツが問題の Web パーツとして断定できます。

    Web パーツ ページの管理画面に遷移したら、Web パーツにチェックを入れ [閉じる] をクリックして、Web パーツを閉じていきます。

     

    問題の Web パーツを特定するため、1 つ閉じるごとにページが正常に表示されるかを確認していきます。
    正常に表示できた時点で、最後に閉じた Web パーツが問題を引き起こしていることが確認できます。

     

     5.      この問題となる Web パーツを閉じたまま、その他の Web パーツを元に戻していきます。

    問題の Web パーツが特定できた後は、その特定の Web パーツを除く全ての Web パーツをあらためて追加します。

    Web パーツ ページの管理画面にて、[閉じる] をクリックして閉じられた Web パーツは、Web パーツを追加する際のカテゴリにて "閉じられた Web パーツ" というカテゴリの中に全て登録されています。

      

    この Web パーツを選択し、[追加] ボタンをクリックすることで、閉じるまでの設定情報を引き継いた Web パーツを再度ページに復元することができます。
    この手順を、問題の Web パーツ以外にて適用し、閲覧できないコンテンツの影響を最小限にとどめます。 

     

    原因追求

    原因追求については、ダウンタイムを最小限にするためだけでなく、根本原因について十分に調査を実施するためにも、テスト環境で実施することをお勧めします。

     

    Web.config の編集

    調査方法の 1 つとしては、web.config を以下のように設定し、スタックを含めたより詳細なエラー内容を画面上に表示させることが効果的です。
    Internet Information Services (IIS) 管理ツールにて、Web サイトを右クリックしてエクスプローラ表示します。

    該当フォルダ内の web.config を開き、以下の 3 つの設定を変更します。

    1)     SafeMode 要素
    要素 : configuration/SharePoint/SafeMode
    属性 : CallStack
    値 : true


     
    2)     CustomErrors 要素
    要素 : configuration/system.web/customErrors
    属性 : mode
    値 : Off または RemoteOnly (サーバー端末のみ Off / リモートは On)

    3)      Compilation 要素
    要素 : configuration/system.web/compilation
    属性 : debug
    値 : true

      

    上記の設定後には、予期せぬエラー画面が、以下のようなエラーの詳細表示画面に切り替わります。

     

     

    Visual Studio を使用したデバッグ

    現象発生した Web パーツのソース コードをお持ちの場合は、Visual Studio を使用して Web パーツを表示している IIS のワーカー プロセスにアタッチ ([デバッグ] – [プロセスにアタッチ]) し、デバッグを行うことで原因追求が可能です。

    なお、このような状況に備えるため、SharePoint アプリケーション開発者は、カスタム ソリューションをリリースするにあたり、納品したバージョンに相当するソース ファイルと、コンパイル時に生成されたシンボル ファイル (*.pdb) を必ずご管理いただくことを推奨します。

     

     

    診断ログ

    多くの場合、ハンドルされていない例外は、診断ログに記録されますので、現象発生時の状況を確認する上で診断ログは非常に重要となります。

    最初の注意事項として、このファイルは保存期間が決められていますので、削除される前に現象発生時のものを即座に控えておく必要があります。
    SharePoint 2013 の Web フロント エンド サーバーにおいて、インストール フォルダ下の LOGS フォルダ (既定では "C:\Program Files\Common Files\Microsoft Shared\web server extensions\15\LOGS") にあるすべてのログ ファイルをコピーしてください。

    補足 : お客様にて診断ログの保存先を変更されている場合には、変更後の保存先を参照してください。診断ログの保存先フォルダは、サーバーの全体管理サイトより [監視] – [診断ログの構成] にアクセスしていただき、[トレース ログ] セクションの [パス] よりトレース ログのパスを参照することで確認することができます。

    今回の例では、以下のようなログが確認できます。

    03/09/2013 17:02:21.37   w3wp.exe (0x1A78)                                    0x1BAC SharePoint Foundation                       General                          8nca       Medium              Application error when access /SitePages/Home.aspx, Error=エラー   at UnhandledExceptionWebPart.UnhandledExceptionWebPart.UnhandledExceptionWebPart.CreateChildControls()     at System.Web.UI.Control.EnsureChildControls()    at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Control.PreRenderRecursiveInternal()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)        7e05069c-8134-708a-27e3-156c2f362b2e

     

    開発者ダッシュボードについて

    SharePoint 2010 以降では、トラブルを防止するための機能として、開発者ダッシュ ボードがあります。

    この機能を使用することで、ページが表示されるまでの処理において、どの処理に時間がかかったかを確認することができます。この機能を使用するには、2 つの手順が必要となります。

     

    使用までの手順

     1. 管理シェルを起動し、以下のコマンドレットを実行して、開発者ダッシュボードを呼び出せるよう設定しておきます。

    $DevDashboardSettings = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings
    $DevDashboardSettings.DisplayLevel = 'OnDemand'
    $DevDashboardSettings.TraceEnabled = $true
    $DevDashboardsettings.Update()

    タイトル : SPDeveloperDashboardSettings class
    アドレス : http://msdn.microsoft.com/en-us/library/ee557630.aspx

    SharePoint 2010 の開発者ダッシュボードの有効化手順は、上記と異なります。詳細については以下をご確認ください。

    タイトル : 開発者ダッシュボードの使用
    アドレス : http://msdn.microsoft.com/ja-jp/library/ff512745(v=office.14).aspx

    2. ページの右上にあるアイコンをクリックし、実際にページ上に開発者ダッシュボードを呼び出します。  

     

    以下のように開発者ダッシュボードが起動します。新しい開発者ダッシュボードでは、ページ表示までに関連する様々な内部動作の要因 (例. SQL, SPRequest, サービス呼び出し, ULS) を分析する機能です。

      

    画面に表示されているように、各 Web パーツの表示においてどれだけの時間がかかったか、データベース、Web サービスなどのバックエンドのデータ ソースにアクセスした時間なども詳細タブに記載されることから、どの処理において時間がかかるか、データが増えるに応じてどのように推移するかなどをページの公開前にあらかじめ把握しておくことができます。

    平常時において、潜在的なリスクを事前に把握しておくことが可能になりますので、是非とも、この新機能を活用いただければと思います。

     

  • SharePoint Server 2013 の検索アーキテクチャ

    みなさんこんにちは。
    SharePoint サポートチームの荒川です。

    今日は新しくなった SharePoint Server 2013 の検索アーキテクチャについてご紹介します。

    SharePoint Server 2013 で大幅に変更された検索アーキテクチャ
    SharePoint Server 2013 の大きな変更点の一つとして、サーチエンジンの刷新が挙げられます。アーキテクチャとしてこれまでの機能を一部残していますが、殆ど別物といっても過言ではありません。トポロジの変更も従来のように管理 UI から気軽に行えなくなっていますし、運用中に気軽にトポロジ変更したりもできなくなっていますので、検索アーキテクチャをしっかりと理解して、十分な計画のもとに実装する必要があります。

    SharePoint 検索エンジンの歴史
    従来の SharePoint 検索エンジンは、元々がシングルサーバーのシステムである MS Search 2.0、Microsoft Desktop Search から発展したシステムでした。このため、どちらかというと箱庭的な環境で使う分には管理性もよく使いやすいという反面、大規模なシステムになると耐障害性やパフォーマンスという観点ではさらなる機能の向上が求められる場面がありました。


    図:SharePoint Portal Server 2003 の検索アーキテクチャ

    そうした背景を受け、FAST Search Server 2010 for SharePoint では、SharePoint Server 2010 の検索機能と統合能力に加えて、プラットフォームとしての柔軟性とスケーラビリティをいっそう高めると共に、高度なコンテンツ処理機能が提供されました。
    SharePoint Server 2010 の検索機能とより密接な統合が可能になったことに加え、プラットフォームとしての柔軟性とスケーラビリティが大幅に向上し、コンテンツ処理コンポーネントやクエリ処理コンポーネント、ホストコントローラによるノード単位でのコンポーネントの実行など、SharePoint Server 2013 の検索アーキテクチャの基盤となる仕組みが導入されています。


    図:FAST Search Server 2010 for SharePoint の検索アーキテクチャ

    FAST の長所は非常に大規模なシステムを構築できる点にありますが、構築の難易度が高いという反面もありました。現在リリースされている SharePoint Server 2013 の検索アーキテクチャでは FAST Search Server の仕組みと、これまでの SharePoint Search の仕組みが融合された新しい検索エンジンが採用されています。

    SharePoint Server 2013 の検索コンポーネント モデル
    下の図は、SharePoint Server 2013 の検索コンポーネント モデルを表したものです。



    以下に、各プロセスごとに関連する検索コンポーネントの役割について解説します。
    ※上の図の各コンポーネントに付けられている数字、アルファベットは、後述の説明にあるものと対応しています。


    クロールおよびコンテンツ プロセス
    クロールおよびコンテンツ処理アーキテクチャには、クロール コンポーネントクロール データベース、およびコンテンツ処理コンポーネントが含まれます。これらのコンポーネントは、両方とも、クロールの量とパフォーマンスの要件に基づいてスケール アウトできます。

    1. クロール コンポーネント
    ・クロール コンポーネントは、クロール データベースで指定された情報に基づいてコンテンツ ソースのクロールを行います。クロール コンポーネントは、コンテンツ処理コンポーネントに、クロールされたアイテム (実際のコンテンツと、関連付けられたメタデータの両方) を送ります。
    ・クロール コンポーネントは、コンテンツ ソースを操作してデータを取得するコネクタ、またはプロトコル ハンドラーを呼び出します。複数のクロール コンポーネントを、同時にクロールするよう展開できます。
    ・クロール コンポーネントは、1 つまたは複数のクロール データベースを使用し、クロールされたアイテムについての情報を一時的に保存して、クロール履歴を追跡管理します。
    ・容量とクロールパフォーマンスを上げるには、クロール コンポーネントを追加します。

    A. クロール データベース
    ・クロール データベースには、クロールされたアイテムの詳細な追跡および履歴情報が含まれます。
    ・このデータベースには、最後にクロールした時間、最後にクロールした ID、最後のクロール中に行われた更新の種類のような情報が含まれます。
    ・各クロール データベースには 1 つまたは複数のクローラーが関連付けられています。

    2. コンテンツ処理コンポーネント
    ・コンテンツ処理コンポーネントは、クロール コンポーネントとインデックス コンポーネントの間に位置します。クロールされたアイテムを処理して、これらのアイテムをインデックス コンポーネントに渡します。
    ・コンテンツ処理コンポーネントは、ドキュメント解析とプロパティ マッピングのような処理を実行して、クロールしたアイテムを、検索インデックスに含めることができる成果物に変換します。
    ・コンテンツ処理コンポーネントとクエリ処理コンポーネントの両方が、言語学的処理を実行します。コンテンツ処理中の言語学的処理の例は、言語検出とエンティティ抽出です。
    ・コンテンツ処理コンポーネントは、リンクと URL の情報をリンク データベースに書き込みます。その一方で、分析処理コンポーネントは、コンテ
    ンツ処理コンポーネント経由で、これらのリンクと URL の関連性についての情報を検索インデックスに書き込みます。


    インデックスおよびクエリ プロセス
    インデックスおよびクエリ アーキテクチャには、インデックス コンポーネントインデックス パーティション、およびクエリ処理コンポーネントが含まれます。これらすべては、コンテンツ ボリューム、クエリ ボリューム、およびパフォーマンス要件に基づいて、スケール アウトできます。

    4. インデックス コンポーネント
    ・インデックス コンポーネントは、インデックス レプリカの論理表現です。検索アーキテクチャでは、各インデックス レプリカについて 1 つのインデックス コンポーネントを準備する必要があります。
    ・インデックス コンポーネントはコンテンツ処理コンポーネントから処理されたアイテムを受け取って、それらのアイテムをインデックス ファイルに書き込みます。
    ・インデックス コンポーネントはクエリ処理コンポーネントからクエリを受け取り、その代わりに結果セットを渡します。
    ・クエリは、クエリ処理コンポーネント経由でインデックス レプリカに送られます。システムは、インデックス レプリカに着信したクエリを送り、負荷分散します。
    ・インデックスは、インデックス パーティションと呼ばれる別々の部分に分割できます。各インデックス パーティションには、インデックスの異なる部分が含まれます。検索インデックスは、すべてのインデックス パーティションの集合体です。インデックス パーティションは、ディスク上の一連のファイルに保存されます。
    ・検索インデックスは、以下の 2 つの方向に規模調整できます。



     インデックス レプリカ
     ・インデックス レプリカは、クエリ負荷またはフォールト トレランスの需要に従ってインデックス パーティションに追加できます。各インデックス パーティションは、1 つまたは複数のインデックス レプリカを持っています。インデックス パーティション内の、各インデックス レプリカは同じ情報を持っています。たとえば、ファームに 1 つのインデックス パーティションがあるとします。このインデックス パーティションには、3 つのインデックス レプリカが含まれ、各インデックス レプリカはクエリ全体の 3 分の 1 に対して機能します。
     ・各インデックス レプリカについて 1 つのインデックス コンポーネントを準備する必要があります。
     ・フォールト トレランスと冗長性を実現するには、各インデックス パーティション用に追加のインデックス レプリカを作成し、複数のアプリケーション サーバー上でインデックス レプリカを配布します。

     インデックス パーティション
     ・コンテンツ ボリュームが増大した場合は、それを処理できるようにインデックス パーティションを追加できます。たとえば、3 つのインデックス パーティションがあるファームでは、各インデックス パーティションにインデックスの 1/3 が含まれます。通常は検索インデックスで 1 千万のアイテムごとに 1 つのインデックス パーティションを追加することを推奨しています。
     ・各インデックス パーティションには、同じ情報を含む 1 つまたは複数のインデックス レプリカが含まれます。

    5. クエリ処理コンポーネント
    ・クエリ処理コンポーネントは、検索フロントエンド コンポーネントとインデックスコンポーネントの間に位置します。
    ・クエリ処理コンポーネントは、検索クエリおよび結果を分析、処理します。
    ・クエリ処理コンポーネントとコンテンツ処理コンポーネントの両方が、言語学的処理を実行します。クエリ処理中の言語学的処理の例は、単語区切り処理とステミングです。
    ・クエリ処理コンポーネントは、検索フロント エンドからクエリを受け取ったとき、正確さ、再現率、および関連性を最適化する目的で、クエリを分析して、処理します。次に、処理されたクエリは、インデックス コンポーネントに送信されます。
    ・インデックス コンポーネントは、処理されたクエリに基づく結果セットを、クエリ処理コンポーネントに戻します。一方で、クエリ処理コンポーネントは、その結果セットを処理してから、検索フロント エンドにそれを戻します。


    分析プロセス
    分析アーキテクチャは、分析処理コンポーネント分析レポート データベース、およびリンク データベースから構成されます。

    3. 分析処理コンポーネント
    ・分析処理コンポーネントは、クロールされたアイテムの分析 (検索分析) と、ユーザーが検索結果をどう操作するかの分析 (利用状況分析) を行います。その情報を使用して、検索関連性を向上し、検索レポート、おすすめ候補、およびディープ リンクを作成します。
    ・このコンポーネントは以下を抽出します。

     検索分析情報
     リンク、アンカーテキスト、人に関連する情報、メタデータなどで、これらは、分析処理コンポーネントが、コンテンツ処理コンポーネント経由で受信したアイテムから抽出します。情報は、未処理のままリンク データベースに保存されます。

     利用状況分析情報
     フロント エンドからイベントストア経由で取得されたアイテムの表示回数などです。

    ・分析処理コンポーネントは、上記の両方の種類の情報を分析します。次に、分析結果は、検索インデックスに含まれるように (部分的な更新を使用して) コンテンツ処理コンポーネントに戻されます。さらに、利用状況分析からの結果は、分析レポート データベースに保存されます。

    B. リンク データベース
    リンク データベースは、コンテンツ処理コンポーネントによって抽出された情報を保存します。さらに、検索クリックについての情報を保存します。これは、ユーザーが検索結果ページから検索結果をクリックした回数です。この情報は未処理のまま保存されます。分析処理コンポーネントは分析を行います。

    C. 分析レポート データベース
    ・分析レポート データベースは利用状況分析の結果を保存します。
    ・さらに、分析レポート データベースは、さまざまな分析からの統計情報を保存します。SharePoint は、この情報を使用して、さまざまな統計を示す Excel レポートを作成します。


    検索管理
    検索管理は、検索管理コンポーネントとそれに対応するデータベースから構成されます。

    検索管理コンポーネント
    ・検索管理コンポーネントは、検索で重要なさまざまなシステム プロセスを実行します。
    ・このコンポーネントは、準備を行います。準備とは、その他の検索コンポーネントから追加のインスタンスを追加して、初期化することです。
    ・Search Service アプリケーションごとに、1 つの検索管理コンポーネントをアクティブにできます。

    検索管理データベース
    ・検索管理データベースは、トポロジ、クロール ルール、クエリ ルール、およびクロールされたプロパティと管理プロパティ間のマッピングのような、検索構成データを保存します。
    ・検索管理データベースは、各 Search Service アプリケーションに 1 つのみ存在します。


    SharePoint Server 2013 の検索トポロジ モデル
    SharePoint Server 2013 ではシステムの要求に応じて柔軟に検索トポロジを構成できます。
     下の図は、アイテムが 1,000 万個以下の小規模ファームに対応した検索トポロジの例です。



    上記の例では、クエリの役割と検索管理、クロールの役割でサーバーを分けて、すべての検索コンポーネントで冗長性を持たせています。
    また、以下は、最大 4 千万アイテムの検索に対応したエンタープライズ検索用の多目的フォールト トレラント ファームの例です。



    検索トポロジの構成方法についてここでは詳しく述べませんが、要点のみ以下にまとめておきます。

     ・SharePoint Server 2013 をインストールして Search Service アプリケーションを作成した直後は、Search Service アプリケーションが既定の検索トポロジで作成されています。既定の検索トポロジでは、すべての検索コンポーネントは、サーバーの全体管理をホストするサーバー上にあります。
     ・SharePoint Server 2013 では検索トポロジを変更するためのユーザー インターフェイスが提供されておらず、すべての操作は PowerShell から行う必要があります。

    具体的な手順等については、後述の参考資料「SharePoint Serever 2013 で検索トポロジを管理する」に記載されていますので、そちらをご参照ください。


    参考資料
    以下の Technet カテゴリには、検索機能を計画する際に役に立つ情報が集約されていますのでご参考ください。
     
     タイトル:検索の新機能 (SharePoint Server 2013)
     URL :http://technet.microsoft.com/ja-jp/library/ee667266.aspx

     タイトル:SharePoint Server 2013 で検索を計画する
     URL :http://technet.microsoft.com/ja-jp/library/cc263400.aspx

    以下の Technet カテゴリには、実際に Search Service アプリケーションを作成および構成する際に役に立つ情報が集約されていますのでご参考ください。

     タイトル:SharePoint Server 2013 で Search Service アプリケーションを作成および構成する
     URL :http://technet.microsoft.com/ja-jp/library/gg502597.aspx
     
     タイトル:SharePoint Serever 2013 で検索トポロジを管理する
     URL :http://technet.microsoft.com/ja-jp/library/jj219705.aspx
     
     タイトル:SharePoint 2013 のアーキテクチャの設計 (IT 担当者)
     URL :http://technet.microsoft.com/ja-jp/sharepoint/fp123594.aspx
     
     タイトル:Enterprise search architectures for SharePoint Server 2013
     URL :http://www.microsoft.com/en-us/download/details.aspx?id=30383
     
     タイトル:Internet sites search architectures for SharePoint Server 2013
     URL :http://www.microsoft.com/en-us/download/details.aspx?id=30464
     
     タイトル:SharePoint Server 2013 の検索アーキテクチャ
     URL :http://www.microsoft.com/ja-jp/download/details.aspx?id=30374
     
    以下の資料では、SharePoint Server 2013 の既知の問題について報告されていますが、本稿と関連する情報として、検索トポロジの構成時に New-SPEnterpriseSearchIndexComponent が、誤ったサーバーで RootDirectory の存在を確認する問題が取り上げられています。対処方法についても記載がありますのでこちらも併せてご参考ください。

     タイトル:SharePoint Server 2013 の既知の問題
     URL :http://office.microsoft.com/ja-jp/help/HA102919021.aspx