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

  • リリースバージョン: Xanadu
  • 更新日 2024年08月10日
  • 所要時間:2分
  • 検索結果に悪影響を与えずにテキスト検索インデックスを再ビルドします。インデックスの再生成が行われている間も、テーブルでテキスト検索を続行できます。

    始める前に

    必要なロール:admin
    注:
    If the glide.script_processor.admin system property's value has been changed from the default value, you need the role specified by that property value. For details on this property value and its effects, see Restrict access to background script [Updated in Security Center 1.3 and 2.0].

    このタスクについて

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

    手順

    1. 移動先 すべて > システム定義 > スクリプト - バックグラウンド.
      注:
      If the glide.script_processor.admin system property's value is set to security_admin, you must elevate to that privileged role to access this module. For more information on elevating privileges, see Elevated privilege roles.
    2. [ Run script (JavaScript executed on server) (スクリプトを実行 (サーバー上で実行される JavaScript))] テキストフィールドに、次のように両方の引数を引用符で囲んで、次のバックグラウンドスクリプトを入力します。
      new GlideTextIndexEvent ( ).indexUpdate('TABLE_NAME', 'EMAIL_ADDRESS');
      各項目の意味は次のとおりです。
      • TABLE_NAME は、インデックスを再作成するテーブルの名前です。
        注:
        指定されたテーブルとその子テーブルのみインデックスが再作成されます。
      • EMAIL_ADDRESS は、テーブルのインデックス再作成が完了したときにメール通知を送信するアドレスです。メール通知を行わない場合は null と入力します。
      たとえば、kb_knowledge テーブルのテキスト検索インデックスを再生成し、再ビルドの完了後にメール通知が不要であることを指定するには、次のバックグラウンドスクリプトを作成します。
      new GlideTextIndexEvent ( ).indexUpdate('kb_knowledge', 'null');
      スクリプトはインデックスハンドラーが処理するイベントを作成するため、スクリプトはインデックス再作成ジョブの完了時にブロックされることなく完了します。
    3. [スクリプトを実行] を選択します。

    タスクの結果

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