FSA: クエリから返されるドキュメントが予想より少ない (FAST Search Server 2010 for SharePoint)
適用先: FAST Search Server 2010
トピックの最終更新日: 2011-04-04
FAST Search クエリから返されるドキュメントが予想より少ない場合、いくつかのアイテム レベル セキュリティの問題の 1 つを示している場合があります。
解決策
可能性のある各解決策を順番に実施してください。
予想されるドキュメントに検索用語が含まれるか。
可能であれば、SharePoint Server の外部で検索用語がドキュメントに含まれることを確認します。ファイルを開き、用語を検索します。SharePoint Server の外側でドキュメントを表示できない場合は、やはりドキュメントに含まれているはずの別の用語を検索してみます。
検索を実行するときに、正しいユーザーが SharePoint にログインしているか。
検索結果に関係するセキュリティは、検索が実行されるときに SharePoint Server にログインしているユーザーに基づきます。Web ページの右上隅でユーザーの名前を調べて、正しいユーザーが SharePoint Server にログインしていることを確認します。
ドキュメントのインデックスが作成された時点で、ユーザーにはドキュメントを表示する権限があったか、それとも最近になってその権限を付与されたか。
ドキュメントでに対する権限が変更された場合、検索でのセキュリティはドキュメントのインデックスを作成しなおすまでその変更を反映しません。
検索者はそのドキュメントに対する権限を持つグループに属しているか。
ドキュメントに対するユーザーの権限を判別します。
ログ レベルを info に設定します。Microsoft FAST Search Server 2010 for SharePoint のコマンド プロンプトを管理者として開き、次のコマンドを実行します。
Set-FASTSearchSecurityLogLevel -DefaultLogLevel Info
検索を再実行します。
ディレクトリ <FASTSearchFolder>\var\log\syslog (<FASTSearchFolder> は、C:\FASTSearch など、FAST Search Server 2010 for SharePoint がインストールされているフォルダーのパス) で、
authorization-worker_<machine>.txt
という名前の形式を使用しているログ ファイルを開きます。<machine>
は、クエリ処理ノードのコンピューター名です。複数のクエリ処理ノードがシステムにある場合、情報がどのクエリ処理ノードのどのログ ファイルに格納されるかは、その要求をどのクエリ処理ノードが対応したかによって決まります。FSA ワーカー (FAST Search for SharePoint Sam ワーカー) のログ ファイルを見るときは、
Claims.dll:GetClaimsPrincipal
からのメッセージを検索します。このメッセージには、要求を行っているユーザーの ID と、そのユーザーに対するクレーム数が含まれます。その後に、そのユーザーに関連付けられている各クレームのデータの一覧があります。クレーム種類がhttps://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid
であるクレームの場合、値はユーザーがメンバーであるグループの Windows SID の値です。
ログ記録メカニズムが特定のサイズの後でログ メッセージを切り捨てる既知の問題があります。ユーザーが多くのグループのメンバーである場合、このセクションの最初で指定したログ ファイルでは、すべての情報が表示されません。この問題の回避策を次に示します。
FAST Search for SharePoint Sam Worker を再起動します。これにより、FSA ワーカーが機能して最新の構成になるまで、クエリ処理ノードが使用できなくなる場合があります。
新しいログ ファイルを有効にするクエリ処理ノードに移動します。
ファイル <FASTSearchFolder>\bin\Microsoft.SharePoint.Search.Extended.Security.WorkerService.exe.config を開き、
<dependency name="FileLogWriter" />
を探します。この XML 要素の前後からコメント
<!--
と-->
を削除し、ファイルを保存します。FSA ワーカーを再起動します。それには、Microsoft FAST Search Server 2010 for SharePoint コマンド プロンプトで nctrl restart samworker を実行します。これにより、<FASTSearchFolder>\components\sam\worker\samworkerservice.txt に別のログ ファイルが作成されます。
検索を再実行すると、完全なログ メッセージと共にすべてのセキュリティ情報が新しく作成されるログ ファイルに格納されます。
ログ ファイルの作成が終了したら、ログ レベルを既定の Warning に戻し、第 2 のログ ファイルの生成を可能にした
FileLogWriter
をコメントにします。