特定のコンテンツが検索結果で取得されない場合のトラブルシューティングのヒント

こんにちは、SharePoint サポートの佐伯です。

 

今回の投稿では、検索結果で特定のコンテンツが取得されない場合にご確認いただきたい内容を記載しております。検索を実行しても特定のコンテンツが検索結果として得られない場合、そのコンテンツの検索インデックスが存在するか、検索インデックスは存在するが何らかの理由で検索結果として取得されないかを切り分けましょう。どちらの状態であるかによって、確認する情報 (検索データや各種設定、ファイル等) が異なります。まずはこの問題の切り分けを行うことが重要です。基本的なものにはなりますが、以下をお試しください。

 

・検索クエリを変えて検索する
例えば、別のキーワードで検索を行ったり、Title や Path 等でプロパティ検索を行います。(Title:"sample item"、Path:"https://xxxxx/Shared%20Documents/sample.xlsx")
検索 Web パーツに複雑なクエリを設定している場合は、一度簡単なクエリに変更して検索します。

・クロール ログを確認する
コンテンツの URL をもとに該当のクロール ログを確認し、正常にクロールが完了しているかを確認します。クロール ログの確認方法については、下記の公開情報をご参照ください。
タイトル : 検索診断を表示する (SharePoint Server 2013) – クロール ログ
アドレス : https://technet.microsoft.com/ja-jp/library/5cf2a498-d879-4673-b4d4-2eaa36695ff9#proc3

 

特定のコンテンツの検索インデックスが存在しないと判断した場合は 「(1) 特定のコンテンツの検索インデックスが存在しないため、検索結果として取得できない」 を、特定のコンテンツが検索結果で確認できた場合は 「(2) 検索インデックスは存在するが、検索条件やその他の問題により検索結果として取得できない」 をご確認ください。

 

(1) 特定のコンテンツの検索インデックスが存在しないため、検索結果として取得できない
検索を実行すると検索インデックスから検索結果が返されます。目的のコンテンツのインデックスが存在しない場合、検索条件を変更しても検索結果として取得されません。

考えられる可能性 ■クロールが実行されていないため、目的のコンテンツのインデックスが作成されていない ■目的のコンテンツがクロール対象になっていないため、クロールを実行してもインデックスが作成されない ■コンテンツのクロール中に何らかの問題が発生し、正常にインデックスが作成されない

■クロールが実行されていないため、目的のコンテンツのインデックスが作成されていない
クロールがスケジュール化されている場合は、クロールが実行されるまで待ちます。
または、手動でクロールを開始します。クロールの開始方法については下記の公開情報をご参照ください。
タイトル : SharePoint Server 2013 でクロールを開始、一時停止、再開、または停止する
アドレス : https://technet.microsoft.com/ja-jp/library/jj219814.aspx

■目的のコンテンツがクロール対象になっていないため、クロールを実行してもインデックスが作成されない
コンテンツ ソースの開始アドレスが正しいかを確認します。コンテンツ ソースに設定されている開始アドレスの確認方法については下記の公開情報をご参照ください。
タイトル : SharePoint Server 2013 でコンテンツ ソースを追加、編集、または削除する
アドレス : https://technet.microsoft.com/ja-jp/library/jj219808.aspx
また、サイトやリストのコンテンツが検索結果に表示されるように設定されているかを確認します。設定内容については下記の公開情報の「検索結果でサイトのコンテンツを表示または非表示にする」、「検索結果でリストやライブラリのコンテンツを表示または非表示にする」をご参照ください。
タイトル : コンテンツを検索可能にする
アドレス : https://support.office.com/ja-jp/article/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%82%92%E6%A4%9C%E7%B4%A2%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%99%E3%82%8B-d7ba92db-8618-43fe-87ee-adf03d973062#__toc277075190

■コンテンツのクロール中に何らかの問題が発生し、正常にインデックスが作成されない
クロール ログを確認し、問題が発生している場合は内容を確認します。確認方法については下記の公開情報をご参照ください。
タイトル : 検索診断を表示する (SharePoint Server 2013) – クロール ログ
アドレス : https://technet.microsoft.com/ja-jp/library/5cf2a498-d879-4673-b4d4-2eaa36695ff9#proc3

(2) 検索インデックスは存在するが、検索条件やその他の問題により検索結果として取得できない
検索インデックスが存在していても、検索クエリや検索インデックスの状態により、目的のコンテンツが該当せず、検索結果として取得されないことがあります。

考えられる可能性 ■重複する結果または類似する結果とみなされ、検索結果から目的のコンテンツが削除される ■検索クエリに設定された条件が、目的のコンテンツが該当するものではない ■検索キーワードに指定して検索したい管理プロパティが検索可能な状態ではないため、検索できない ■管理プロパティに目的の値が格納されていないことで、それをキーワードにしても検索できない ■検索クエリのワードブレーク結果とインデックスのワードブレーク結果が一致せず、コンテンツがヒットしない

■重複する結果または類似する結果とみなされ、検索結果から目的のコンテンツが削除される
重複する結果が表示されるように設定を変更し、目的のコンテンツが検索結果に表示されるかを確認します。設定方法については、下記の公開情報をご参照ください。
タイトル : 類似する結果のアイテムが Office 365 の SharePoint Online または SharePoint Server 2013 オンプレミスの検索結果にリストされない
アドレス : https://support.microsoft.com/ja-jp/kb/3093529

■検索クエリに設定された条件が、目的のコンテンツが該当するものではない
検索 Web パーツの [クエリの作成] ダイアログ ボックスで、[テスト] タブの [クエリ テキスト] にて、Web パーツによって実行される最終的なクエリが表示されます。その内容が目的に合ったものであるかを確認します。 確認方法については、下記の公開情報をご参照ください。
タイトル : SharePoint Server 2013 で検索 Web パーツを構成する
アドレス : https://technet.microsoft.com/ja-jp/library/jj679900.aspx

■検索キーワードに指定して検索したい管理プロパティが検索可能な状態ではないため、検索できない
特定の管理プロパティが該当するキーワードを指定して検索を行う場合、その管理プロパティが検索可能に設定されているかを確認します。
ManagedProperty:abc のようなプロパティ検索を行う場合は、その管理プロパティがクエリ可能に設定されているかを確認します。
管理プロパティの設定を変更する方法は下記の公開情報をご参照ください。
タイトル : SharePoint Server 2013 で検索スキーマを管理する
アドレス : https://technet.microsoft.com/ja-jp/library/jj219667.aspx#proc3
検索可能、クエリ可能の設定の詳細については、下記の公開情報をご参照ください。
タイトル : SharePoint Server 2013 の検索スキーマの概要
アドレス : https://technet.microsoft.com/ja-jp/library/jj219669.aspx#search_schema

■管理プロパティに目的の値が格納されていないことで、それをキーワードにしても検索できない
目的のコンテンツの管理プロパティに格納されている値を確認します。例えば、コンテンツ検索 Web パーツなどで目的のコンテンツが該当するクエリを設定し、管理プロパティが表示されるように設定し、検索結果のプロパティ値を確認します。ここで確認された値がキーワードの内容と合致しない場合、目的の検索結果が得られません。

■検索クエリのワードブレーク結果とインデックスのワードブレーク結果が一致せず、目的のコンテンツがヒットしない
検索クエリのワードブレーク結果とインデックスのワードブレーク結果が一致しない要因として、それぞれがワードブレークされた際の言語が異なることが考えられます。
インデックスがワードブレークされた際の言語が意図した言語であるかを確認する方法として、コンテンツの language プロパティの値を確認する方法があります。例えば、コンテンツ検索 Web パーツで目的のコンテンツが該当するクエリを設定し、language プロパティが表示されるように設定し、検索結果のプロパティ値を確認します。クエリのワードブレークはブラウザの言語に基づいて行われますので、ここで確認された language プロパティ値の言語と同じでない場合、検索クエリのワードブレーク結果とインデックスのワードブレーク結果が一致せず、目的の検索結果が得られない可能性があります。

 

上述の「考えられる可能性」は一例ではありますが、切り分けの際のご参考にしていただけますと幸いです。
今回の投稿は以上です。