インデックス付きソース保持ポリシーとフィルター条件

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:4分
  • AI 検索 は設定を使用して、古いレコードをインデックスから自動的に消去し、検索パフォーマンスを最適化します。ソーステーブルからインデックスを付けるレコードのセットを制限するために、インデックス付きソースの保持ポリシーとフィルター条件を構成できます。

    インデックス付きソース保持ポリシー

    タスク [task] テーブルやそれを拡張するテーブルなどの大きなソーステーブルにインデックスを付けると、AI 検索 インデックスに多数のレコードが追加される可能性があります。最後に更新されてからの時間に基づいてインデックス付きソーステーブルレコードのセットを制限するには、インデックス付きソースの保持ポリシーを選択します。AI 検索 は、保持ポリシーに対して定義された期間内に更新されたソースレコードのみにインデックスを付けます。たとえば、2 年間の保存ポリシーを選択した場合、AI 検索 は 2 年以上前に最後に更新されたソースレコードを除外します。

    ソースレコードの最後の更新からの時間がインデックス付きソースの保持ポリシーの制限を超えた場合、AI 検索 は対応するインデックス付きレコードを古いものとしてマークします。
    注:
    タスク [task] テーブルまたはそれを拡張するテーブルのレコードにインデックスを付けるインデックス付きソースには、保持ポリシーが必要です。他のインデックス付きソースではオプションです。

    インデックス付きソースのフィルター条件

    ソーステーブルからインデックス付きレコードのセットを制限するには、インデックス付きソースのフィルター条件を定義します。AI 検索 は、定義されたすべてのフィルター条件に一致するレコードのみにインデックスを付けます。

    ソースレコードがインデックス付きソースのフィルター条件を満たさなくなった場合、AI 検索 は対応するインデックス付きレコードを古いものとしてマークします。

    古いレコードの消去

    AI 検索 はインデックスから古いレコードを毎日自動的に消去します。アドミンロールを持つユーザーは、古いレコードを手動で消去できます。この手順の詳細については、「古いレコードを AI 検索インデックスから消去する」を参照してください。

    古いレコードを AI 検索インデックスから消去する

    スケジュール済みジョブを実行して、AI 検索 インデックスから古いレコードを削除します。

    始める前に

    必要なロール:admin
    注:
    glide.script_processor.admin システムプロパティの値がデフォルト値から変更されている場合は、そのプロパティ値で指定されたロールが必要です。このプロパティ値とその作用の詳細については、「Restrict access to background script [Updated in Security Center 1.3 and 2.0]」を参照してください。

    このタスクについて

    AI 検索 インデックスのレコードで次のいずれかの条件が満たされた場合、AI 検索 はそのレコードを古いものとしてマークします。
    • レコードの最後の更新からの経過時間が、インデックス付きソースの保持ポリシーからの経過時間制限を超えています
    • レコードは、インデックス付きソースに対して定義されたフィルター条件を満たさなくなりました
    AI 検索 はインデックスから古いレコードを毎日自動的に消去します。アドミニストレーターは、バックグラウンドスクリプトを実行することで、手動でレコードを消去できます。

    バックグラウンドスクリプトの実行の詳細については、「Scripts - Background module」を参照してください。

    手順

    1. 次のように移動する。 All (すべて) > システム定義 > スクリプト - バックグラウンド.
      注:
      glide.script_processor.admin システムプロパティの値が security_admin に設定されている場合、このモジュールにアクセスするには、その特権ロールに昇格する必要があります。特権の昇格方法の詳細については、「Elevated privilege roles」を参照してください。
    2. [スクリプトを実行 (サーバー上で実行される JavaScript)] フィールドで、次のバックグラウンドスクリプトのいずれかを入力します。
      • 特定のテーブルからインデックス付けされた古いレコードを消去するには、次のスクリプトを入力し、「TABLE_NAME」を選択したテーブルの名前に置き換えます。
        new sn_ais.IndexEvent().purgeFilteredDocuments('TABLE_NAME');
        たとえば、ナレッジテーブルのインデックス付きソースからインデックス付けされたすべての古いレコードを消去するには、スクリプト内の「TABLE_NAME」を kb_knowledge に置き換えます。
      • インデックスが作成されたテーブルに関係なく、インデックス内のすべての古いレコードを消去するには、次のスクリプトを入力します。
        new sn_ais.IndexEvent().purgeFilteredDocuments();
    3. [スクリプトを実行] を選択します。
      スクリプトは、インデックスハンドラーが処理するイベントを作成するため、スクリプトは消去ジョブの完了時にブロックされることなくに完了します。

    タスクの結果

    バックグラウンドスクリプトを実行して、AI 検索インデックスから古いレコードを削除します。