SharePoint Foundation 2010 で検索サービスを構成した直後にカスタム列の検索結果が返されない事象について

こんにちは。SharePoint サポートの清です。

 

今回の投稿では、SharePoint Foundation 2010 の環境でカスタム列の検索結果が返されない事象についてご案内いたします。

SharePoint Foundation 2010 では検索機能として、SharePoint Foundation Search V4 (SPSearch4) サービスがインデックス、クエリの役割を提供しております。今回は、このサービスをご利用いただく際に発生する場合がある事象です。

なお、SharePoint Server 2010 の環境で Search Service Application を作成することでご利用いただける検索機能は SharePoint Server Search 14 (OSearch14) サービスで実現されており、本事象には該当いたしません。

 

現象

ユーザーがカスタム列のデータを検索すると、SharePoint Foundation 2010 で検索サービスが構成された直後に期待どおりの結果が返されません。

 

原因

検索サービスが構成された直後は、検索スキーマはまだ完全に読み込まれていません。

検索スキーマを参照できない場合、クロールされたプロパティは管理プロパティに正しくマップされません。

その結果、カスタム列のコンテンツは検索インデックスに書き込まれず、ユーザーは検索結果ページで期待される結果が得られない事象が発生します。

 

補足)

検索スキーマには、クロールされたプロパティから管理プロパティへのマッピングおよび管理プロパティの設定が含まれており、クロールされたプロパティと管理されたプロパティがどのようにマップされるかを制御するために使用されます。

管理プロパティのみが検索インデックスに保持されるので、コンテンツがクロールされた後、コンテンツの内容やメタデータを検索できるようにするには、管理プロパティにクロールされたプロパティをマップする必要があります。

 

解決方法

この問題を解決するには、システム管理者が検索サービスを構成した後にサービスの再起動とフル クロールを実施します。

 

  1. 管理者として SharePoint Foundation 2010 のサーバーにログオンし、OS のサービス コンソールを起動します。
  2. [SharePoint Foundation Search V4 (SPSearch4)] を選択して再起動します。
  3. 管理者としてコマンド プロンプトを起動し、以下のディレクトリに移動します。
    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN
  4. フルクロールを開始するには、以下のコマンドを実行します。
    Stsadm -o spsearch -action fullcrawlstart

 

詳細

以下の手順で問題を再現することができます。

 

  1. SharePoint Foundation 2010 をインストールします。
  2. サーバーの全体管理サイトから検索サービスを開始します。
  3. サイト コレクションを作成し、ライブラリにカスタム列を追加します。
  4. ライブラリに任意の情報を入力して項目を保存します。この情報は、アイテムを検索するためのキーワードとして使用します。
  5. 最初のクロールが終了するまで待ってから、カスタム列の文字列で検索し、検索結果ページを確認します。

 

状況

マイクロソフトは、この問題をマイクロソフト製品の問題として認識しています。

 

対象製品

この資料は以下の製品について記述したものです。

Microsoft SharePoint Foundation 2010

 

 

お手数ではございますが、同様の事象が確認された場合には上記の対処策を実施くださいますようお願いいたします。

今回の投稿は以上です。

 

※ 本情報の内容は、作成日時点のものであり、予告なく変更される場合があります。