Microsoft 365 Copilotコネクターで「追加したナレッジがなかなか表示されない」「権限を変更したのに検索結果へ反映されない」という場合、クロール処理の待ち時間が原因になっていることがあります。
Microsoftは、CopilotコネクターのコンテンツクロールとIDクロールを並列実行する仕組みを導入しました。従来のように一方の処理が終わるまで次の処理を待つ必要がなくなり、新規・更新コンテンツや権限情報を、より早くCopilotで利用できるようになります。権限確認を省略して高速化するのではなく、セキュリティと権限精度を保ったまま処理時間を短縮する変更です。(Microsoft Learn)
ただし、並列クロールになったからといって、すべての変更が即時反映されるわけではありません。コンテンツ変更とユーザー・グループ・権限変更では利用されるクロールが異なるため、管理者は「何を変更したのか」に応じて確認方法を使い分ける必要があります。
Copilotコネクターの並列クロールで何が変わったのか
Microsoft 365 Copilotコネクターは、外部サービスのコンテンツをMicrosoft Graphのインデックスへ取り込みます。取り込まれたデータには本文やタイトルだけでなく、アクセス可能なユーザーを判断するためのアクセス制御リストも含まれます。
今回の並列クロールでは、次の2つの処理を同時に進めます。
| 処理 | 主な対象 | 役割 |
|---|---|---|
| コンテンツクロール | 記事本文、タイトル、URL、更新日時、メタデータ | 新規・更新された情報を検索インデックスへ取り込む |
| IDクロール | ユーザー、グループ、ロール、ユーザー条件、所属関係 | 誰がどのコンテンツを閲覧できるかを判断する |
| 権限の反映 | ID情報とコンテンツ側のアクセス条件 | CopilotやMicrosoft Searchで表示対象を絞り込む |
従来は、コンテンツとIDのクロールを順番に処理していました。そのため、コンテンツの取り込みが終わっても、ユーザーや権限情報の処理が完了するまで利用者へ表示できないことがありました。
並列化後は、両方の処理を同時に開始できます。フルクロール全体が完了するのはコンテンツ同期とID同期の両方が終了した時点ですが、合計処理時間は短縮されやすくなります。ServiceNow Knowledgeコネクターの公式ドキュメントでも、初回を含むフルクロール時に、コンテンツ同期とID同期が並列で実行されると説明されています。(Microsoft Learn)
処理時間が短くなる考え方
例えば、コンテンツ処理に40分、ID処理に30分かかる環境を仮定します。
従来の逐次処理では、単純計算で約70分必要です。一方、並列処理では両方を同時に進められるため、理論上は長い方の約40分を中心とした処理時間になります。
これは説明のための例であり、Microsoftが特定の短縮率を保証しているわけではありません。実際の所要時間は、データ量、ユーザー数、グループ構成、接続先APIの応答速度、エラーの有無などに左右されます。
新しい内容が遅れて表示される問題は解消されるのか
並列クロールにより、フルクロールに必要な時間は短縮されやすくなります。その結果、次のような変更を以前より早く利用できる可能性があります。
- 新しく公開したナレッジ記事
- 既存記事の本文やタイトルの更新
- 新規ユーザーや削除されたユーザー
- グループメンバーの追加や削除
- ユーザーに割り当てられたロールの変更
- ユーザー条件やアクセス権限の変更
Microsoftのリリースノートでも、新規・更新コンテンツの取り込みと、ID・権限変更の反映を高速化することが並列化の目的として示されています。(Microsoft Learn)
ただし、並列クロールが直接改善するのは、主にクロール処理全体の待ち時間です。次のような原因による遅延まで、すべて自動的に解決するわけではありません。
- 増分クロールの実行時刻をまだ迎えていない
- 記事が公開状態になっていない
- クロール対象の条件から記事が除外されている
- ユーザーとMicrosoft Entra IDの対応付けに失敗している
- 接続先APIでエラーやタイムアウトが発生している
- 権限変更にフルクロールが必要
- 記事が「Partially indexed」や「Deny all」になっている
そのため、「並列化されたから、更新内容は必ず数分以内に表示される」と判断するのは適切ではありません。
フルクロール・増分クロール・ID同期の違い
ServiceNow Knowledgeコネクターでは、変更内容によって利用される同期処理が異なります。
現行の公式ドキュメントに記載されている既定値と処理範囲は次のとおりです。
| クロールの種類 | 既定の頻度 | 主な処理内容 | 注意点 |
|---|---|---|---|
| フルクロール | 1日ごと | 全コンテンツの再クロール、削除済みコンテンツの処理、すべての権限更新 | コンテンツ同期とID同期を並列実行する |
| 増分クロール | 15分ごと | 変更された記事と、その記事に対する権限を同期 | ユーザー、グループ、ユーザー条件の対応関係は更新しない |
| 増分ID同期クロール | 30分ごと | ユーザー、ロール、グループ所属、ユーザー条件属性などの変更を同期 | Advancedフローとuser_changesリソースの設定が必要 |
ServiceNow Knowledgeの通常の増分クロールは、変更された記事と記事単位の権限変更を処理します。一方、ナレッジベース側の親階層で権限を変更した場合や、ユーザーのグループ所属を変更した場合は、通常の増分クロールだけでは反映されないことがあります。(Microsoft Learn)
フルクロールが必要になりやすい変更
次の変更を行った場合は、フルクロールの完了を確認することが重要です。
- ナレッジベース全体の閲覧条件を変更した
- ユーザーとユーザー条件の対応関係を変更した
- 通常の増分ID同期を設定していない環境でグループ所属を変更した
- ロールやユーザー条件に関する設定を大きく変更した
- 削除したコンテンツをインデックスから確実に除外したい
- スキーマやプロパティの設定を変更した
権限変更を急いで反映させる必要がある場合は、定期実行を待つだけでなく、管理画面からフルクロールを開始できるか確認します。
増分クロールで対応しやすい変更
記事本文の修正や、新しい記事の公開など、コンテンツ側の変更は増分クロールで処理されやすい項目です。
ServiceNow Knowledgeコネクターの既定クエリは、公開中の有効な記事を対象とする設定です。記事を作成しても下書きやレビュー中の状態であれば、クロールが実行されても対象にならない可能性があります。公式ドキュメント上の既定クエリはactive=true^workflow_state=publishedです。(Microsoft Learn)
権限精度を保ったまま高速化できる理由
Copilotコネクターでは、コンテンツを取り込むだけでなく、アクセス制御リストを使って検索結果を絞り込みます。
並列クロールは、権限確認を省略する仕組みではありません。コンテンツとID情報を同時に処理し、両方がそろった状態でアクセス可能なユーザーを判断します。Microsoftも、今回の変更について、セキュリティや権限精度を損なわずに処理時間を短縮すると説明しています。(Microsoft Learn)
ただし、元のコネクター設定が不適切な場合は、並列化後も表示漏れや過剰共有が発生する可能性があります。
「Only people with access」を基本にする
ServiceNow Knowledgeコネクターでは、アクセス権限として次の選択肢があります。
- Everyone
- Only people with access to this data source
「Everyone」を選ぶと、インデックス化されたデータが組織内のすべてのユーザーに表示されます。社内規程、人事情報、部門限定ナレッジなどを扱う場合は、原則として「Only people with access to this data source」を使用し、元データのアクセス権限を引き継ぐ運用が適しています。既定値もアクセス権限を持つユーザーだけに表示する設定です。(Microsoft Learn)
Advanced Scriptsを使う環境ではAdvancedフローを選ぶ
ServiceNow Knowledgeコネクターには、ユーザー条件を評価するSimpleフローとAdvancedフローがあります。
Simpleフローでは、スクリプトを使った高度なユーザー条件を評価できません。
特に注意が必要なのは、次の2パターンです。
| ServiceNow側の設定 | Simpleフローでの扱い | 想定される問題 |
|---|---|---|
| Cannot Read側にAdvanced Scriptがある | 安全側に倒し、Deny allとして扱う | 本来閲覧できるユーザーにも記事が表示されない |
| Can Read側にAdvanced Scriptがある | 評価できない条件をスキップする | 本来制限すべき記事が過剰共有される可能性がある |
Advanced Scriptsを使用している場合は、AdvancedフローとServiceNowのScripted REST APIを構成し、ユーザー条件を正しく評価できるようにします。これはクロール速度ではなく、権限精度に直結する設定です。(Microsoft Learn)
Copilotに新しい内容が表示されない場合の切り分け方
表示の遅れを調査するときは、「クロールが遅い」と一括りにせず、症状ごとに原因を切り分けます。
| 症状 | 主な確認ポイント | 対応の方向性 |
|---|---|---|
| 新しい記事が誰にも表示されない | 公開状態、対象クエリ、増分クロール、エラー | 記事状態とクロール結果を確認する |
| 記事は登録されているが特定ユーザーに表示されない | IDマッピング、グループ所属、ACL | ユーザー権限とID同期を確認する |
| グループ変更後も以前の権限が残る | 増分ID同期、フルクロール | 増分ID同期を構成するかフルクロールを実行する |
| ナレッジベース全体の権限変更が反映されない | 親階層の権限変更 | フルクロールの完了を確認する |
| 記事がDeny allになる | Simpleフロー、Advanced Scripts | Advancedフローの利用を検討する |
| 記事がPartially indexedになる | プロパティ、本文、ユーザー情報の欠落 | Errorsタブで失敗項目を確認する |
| 制限記事が広く表示される | Everyone設定、Can Read側のAdvanced Script | アクセス設定とフローを見直す |
公式のインデックス確認機能では、「Partially indexed」は一部のプロパティ、ユーザー情報、本文などが不足した状態を示します。「Deny all」は記事がインデックスに存在していても、すべてのユーザーからアクセスできない状態です。(Microsoft Learn)
管理者が実施すべき確認手順
テスト用の記事とユーザーを準備する
最初に、結果を確認しやすいテストデータを用意します。
- 閲覧を許可するユーザー
- 閲覧を拒否するユーザー
- グループ所属を変更するユーザー
- 新規公開するテスト記事
- 本文だけを変更する既存記事
- ナレッジベース側で権限を変更する記事
本番記事だけでテストすると、表示されない原因が本文、公開状態、権限、ID同期のどこにあるのか判断しにくくなります。
変更時刻を記録する
次の時刻を記録しておくと、クロール遅延を定量的に判断できます。
- ServiceNowで記事を公開した時刻
- 記事を更新した時刻
- グループやロールを変更した時刻
- 増分クロールの開始・完了時刻
- フルクロールの開始・完了時刻
- CopilotまたはMicrosoft Searchで確認できた時刻
「遅い」という感覚だけでなく、どの処理に時間がかかっているのかを判断できるようになります。
Microsoft 365管理センターで接続状態を確認する
Microsoft 365管理センターで、次の順に開きます。
Copilot → Connectors → 対象の接続
ServiceNow Knowledgeコネクターでは、接続の状態、インデックス化されたユーザー数、記事数などを確認できます。接続状態がReadyになった後、記事のsys_idを指定して、インデックス状態とユーザー権限を検証できます。(Microsoft Learn)
クロールが完了していても、エラー件数が増えている場合は正常に取り込めていない可能性があります。ステータスだけでなく、Errorsタブも確認してください。
インデックスブラウザーで記事を確認する
インデックスブラウザーでは、記事の一意なIDを使って次の情報を確認できます。
- インデックスに存在するか
- 最終更新時刻
- プロパティが正しく登録されているか
- 本文が取り込まれているか
- どのユーザーにアクセス権限があるか
- Partially indexedやDeny allになっていないか
Copilot上で検索語を変えながら試すより、まずインデックスブラウザーで記事自体が正常か確認した方が、原因を早く絞り込めます。(Microsoft Learn)
許可ユーザーと拒否ユーザーの両方で検証する
権限テストでは、「許可されたユーザーから見える」ことだけを確認してはいけません。
次の両方を確認します。
- 許可ユーザーには記事が表示される
- 拒否ユーザーには記事が表示されない
許可ユーザーだけで確認すると、Everyone設定やAdvanced Scriptの評価漏れによる過剰共有を発見できません。
並列クロール導入後の運用ポイント
クロール時間だけでなく反映結果を監視する
並列化により、フルクロールの所要時間は短縮されやすくなります。しかし、クロールが速く終わったことと、正しいユーザーへ正しい記事が表示されたことは別の評価項目です。
運用では次の3点を分けて監視します。
- コンテンツの鮮度
- ID・権限の鮮度
- アクセス制御の正確性
特に、人事異動や組織変更の直後は、記事本文よりもグループ所属やロールの反映状況を優先して確認します。
初回フルクロールと定期フルクロールを分けて考える
初回フルクロールでは、記事だけでなく、ユーザー、ユーザー条件、グループ所属などを初めて検出して取り込む必要があります。そのため、定期的なフルクロールより時間がかかる傾向があります。
定期フルクロールでは、既存アイテムを再クロールし、ID同期では差分を中心にMicrosoft Graphへ送信するため、初回より速く処理されやすいと説明されています。(Microsoft Learn)
初回クロールの所要時間を、そのまま通常運用時の基準にしないことが重要です。
増分ID同期を使うか判断する
ServiceNowで次の変更が頻繁に発生する組織は、Advancedフローの増分ID同期を検討する価値があります。
- 人事異動が多い
- 部門別グループを頻繁に更新する
- ロールによって閲覧範囲を細かく分けている
- ユーザー条件の属性が頻繁に変わる
- 1日1回のフルクロールでは権限反映が遅い
増分ID同期では、新規・削除ユーザー、ロール、グループ所属、ユーザー条件属性などをフルクロールの間にも更新できます。ただし、Advancedフローとuser_changesリソースの構成が必要です。(Microsoft Learn)
限定ユーザーで先行検証する
Microsoft 365 Copilotコネクターは、限定したユーザーやグループへ段階的に展開できます。
最初から全社展開せず、IT部門やナレッジ管理担当者に限定して、次の項目を確認します。
- 新規記事が検索できるか
- 更新内容が古いまま残っていないか
- 閲覧権限が正しいか
- 拒否対象のユーザーに表示されないか
- 記事リンクから元データを開けるか
- クロールエラーが継続していないか
接続設定が似ていても、データソースごとに認証、権限、スキーマ、クロール範囲が異なります。Microsoftも、コネクターごとの導入ガイドを確認するよう案内しています。(Microsoft Learn)
並列クロールに関するよくある疑問
並列クロールを有効にする設定は必要か
Microsoftのリリースノートでは、Copilotコネクター側の変更として案内されています。ServiceNow Knowledgeコネクターの公開手順にも、並列化専用のオン・オフ設定は記載されていません。
管理者が行うべき作業は、並列化そのものを有効にすることではなく、フルクロール、増分クロール、増分ID同期の設定と結果を確認することです。
並列化すれば15分以内に記事が表示されるのか
15分はServiceNow Knowledgeコネクターにおける増分クロールの既定頻度であり、反映完了を保証する時間ではありません。
クロール開始までの待ち時間に加え、データ量、API応答、エラー、インデックス処理などの影響を受けます。公開直後の情報を急いで利用したい場合は、記事の公開状態と接続エラーを確認したうえで、必要に応じて手動クロールを検討します。
通常の増分クロールで権限変更も反映されるのか
変更された記事や記事単位の権限は再計算されますが、ユーザーとユーザー条件の対応、グループ所属、親となるナレッジベース側の権限変更などは、通常の増分クロールだけでは更新されない場合があります。
権限変更の種類に応じて、増分ID同期またはフルクロールが必要です。
並列化によって権限漏れが起きやすくならないか
並列化は権限確認を省略する変更ではありません。コンテンツ同期とID同期を同時に進め、両方の処理結果を使ってアクセス制御を行います。
ただし、Everyone設定、IDマッピングの誤り、SimpleフローでのAdvanced Scripts利用など、コネクター構成に起因するリスクは残ります。並列化後も、許可ユーザーと拒否ユーザーの両方で検証する必要があります。
Copilotコネクターの反映が遅いときに確認すべきこと
Microsoft 365 Copilotコネクターの並列クロールにより、コンテンツとIDを順番に処理していた待ち時間が減り、新規・更新情報をより早く利用できるようになります。
一方で、記事の変更と権限の変更では、確認すべきクロールが異なります。
記事が表示されない場合は、まず公開状態、対象クエリ、増分クロール、インデックスエラーを確認します。ユーザーやグループの変更が反映されない場合は、増分ID同期またはフルクロールの状態を確認してください。
最後にインデックスブラウザーを使い、本文だけでなくアクセス権限も検証します。並列化の効果を最大限に生かすには、クロール時間の短縮だけを見るのではなく、「最新の記事が、正しいユーザーだけに表示されているか」を運用基準にすることが重要です。

コメント