テキスト検索結果に影響を与えないテーブルのインデックスの再作成

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む1読むのに数分
  • 検索結果に悪影響を与えずにテキスト検索インデックスを再構築します。インデックスの再生成が行われている間も、テーブルでテキスト検索を続行できます。

    始める前に

    必要なロール:admin

    このタスクについて

    このインデックスの再作成メソッドでは、再構築が行われる前にテキスト検索インデックス全体が消去されることはありません。テキスト検索テーブルのインデックスを一度に 1 レコードずつ再構築し、ターゲットテーブル階層のみインデックスを再作成します。たとえば、sc_cat_item テーブルを選択すると、sc_cat_item テーブルのみインデックスが再作成されます。

    手順

    1. 移動先 すべて > システム定義 > スクリプト - バックグラウンド.
    2. [スクリプトを実行] テキストフィールドに、次のバックグラウンドスクリプトを入力します。図のように、両方の引数を必ず引用符で囲みます。
      new GlideTextIndexEvent ( ).indexUpdate('tableName', 'emailAddress');
      各項目の意味は次のとおりです。
      • tableName は、インデックスを再作成するテーブルの名前です。
        注:
        指定されたテーブルとその子テーブルのみインデックスが再作成されます。
      • emailAddress は、テーブルのインデックス再作成が完了したときにメール通知が送信されるアドレスです。メール通知を行わない場合は null と入力します。
      たとえば、kb_knowledge テーブルのテキスト検索インデックスを再生成し、再構築の完了後にメール通知が不要であることを指定するには、次のバックグラウンドスクリプトを作成します。
      new GlideTextIndexEvent ( ).indexUpdate('kb_knowledge', 'null');

      スクリプトは、インデックスハンドラーが処理するイベントを作成し、スクリプトがほぼ瞬時に完了するようにします。

    3. [スクリプトを実行] ボタンを選択します。

    タスクの結果

    指定されたテーブルのテキスト検索のインデックスが再作成されます。sys_metadata のような大きなテーブルの場合、インデックスの再作成には数時間かかることがありますが、スクリプトの実行中にテーブルでテキスト検索を実行することもできます。