テキストのインデックス作成 (またはインデックス再作成) の進行状況を追跡し、完了したかどうかを確認する方法Issue ここでは、テキストインデックスまたはインデックス再作成が完了したかどうかを判断する方法と、完了していない場合に、テキストインデックス作成イベント処理の進行状況を確認する方法について説明します。 これは、次のような状況のトラブルシューティングに役立ちます。 テキストインデックス作成イベントがまだ実行中であるため、新しいレコードまたは最近更新されたレコードが検索結果に返されない。 テキストインデックスがまだ実行中であるため、クローン作成後にテーブルが結果を返さない。 KB0552002 テーブルのテキストインデックス作成を有効にした後、結果が返されない。 https://docs.servicenow.com/csh?topicname=t_EnableATextSearchOnATable.html&version=latest ReleaseすべてResolution警告 テーブルのテキストインデックスの完全な再構築は非常に時間がかかり、パフォーマンスにも影響を与える可能性があることに注意してください。考慮すべき最大の要素は、インデックスを再作成するターゲットテーブル内のレコード数です。インデックスが再構築されている間、「テキストインデックスイベントの処理」ジョブは、[sysevent] テーブルに流入する新しいテキストインデックスイベントを処理しません。そのため、新規作成/更新されたレコードが処理されるまでは、結果が返されるべき条件で検出されない可能性があります。 テキスト検索の予期しない動作に関しては、ほとんどの場合、テーブルのテキストインデックスを完全に再構築する必要はありません。大量のレコードが影響を受ける場合は最終手段として使用し、1 つのレコードのインデックスを再作成して、発生している問題が解決されることを検証した後に使用することを強くお勧めします。場合によっては数日かかることがあるため、本番環境でこれを試す前に非本番環境でテストして、大まかなタイミングを示す必要があります。テーブルのインデックスを再構築する予定で、London 以降のリリースを使用している場合は、各レコードの再処理中に既存のインデックスをその場に保持しつつインデックスを再構築するオプションを使用できます。これにより、インデックスの再作成が行われている間もレコードを見つけることができます。ただし、新しく挿入および更新されるレコードは、テーブルのインデックス再作成が完了した後にレコードの sysevents が処理されるまで、これらの新しい条件では検出されません。インデックスを保持した状態でインデックスを作成する方法の詳細については、以下を参照してください。https://docs.servicenow.com/csh?topicname=real-time-reindexing.html&version=latest まず、インスタンスのクローンを作成したばかりの場合、テキストインデックスのクローンは作成されません。つまり、すべてのインデックスがクローン完了後に再構築されるため、クローン作成後にテキストインデックス作成が機能するまでにかなりの遅延が生じる可能性があります。[システム定義] > [テキストインデックス] に移動します。結果を返さないインデックスを検索して選択します。 インデックスを作成しているテーブルのレコードが見つからない場合は、テーブルが sys_metadata やタスクなどの別のテーブルの親の下位に位置する可能性があります。テキストインデックスは、最上位の親テーブルに対して構築されます。これがタスクまたはシステムテーブルではなく新しいインデックス用である場合、ジョブがスケジュールされるまでレコードが表示されない可能性があるため、引き続きジョブのステータスを確認します。 ステータスがインデックス作成中の場合は、手順 8 に進み、イベントキューの処理を確認します。 まだインデックスが作成されていない場合、ステータスに [準備完了] と表示されるため、ジョブがスケジュールされていることを確認する必要があります。 [システムスケジューラー] > [スケジュール済みジョブ] > [スケジュール済みジョブ] (sys_trigger table) に移動します。 「テキストインデックスイベント処理」のレコードを検索して開きます。ステータスが [エラー]ではなく、[次のアクション] が非常に近い将来にあると表示されていることを確認します。このジョブは、変更されていない限り、通常は 30 秒ごとに実行されるように設定されています。そのジョブは、使用可能なノードの 1 つで 30 秒間隔で処理される必要があります。通常よりも長く実行されている場合は、実行されているノードの stats.do ページのスケジューラーワーカーの下に表示されます。ServiceNow サポート担当者でない場合、すべてのノードにアクセスしてこれを検証することができない可能性があります。その場合は、代わりにサポートエンジニアに確認してもらうことができます。ジョブが実行されたら、イベントテーブルで進行状況を確認できます。 [システムログ] > [イベント] に移動します。[名前] を 'text_index'、[処理期間] を空白、[ステータス] を [転送されていない]に指定してフィルター処理をします。 これにより、まだ処理が必要なテキストインデックスイベントのリストが得られます。これらは時系列で処理されるため、別のインデックスの処理、またはすでにインデックスが付けられたテーブルへの大規模な更新が、調査対象のインデックスより前に開始された場合、対象のインデックスが完了していない理由となる可能性があります。テーブル列でフィルター処理し、作成時刻を確認すると、最初にインデックスが作成されるイベントを確認できます。 すべてのイベントが処理されると、インデックスが完成します。