推奨アクションの AI 検索での動的フィルターの構成

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • 推奨アクションからのコンテキスト入力を前処理するように AI 検索を構成し、現在のレコードコンテキストに基づいて検索結果が動的にフィルタリングされるようにします。

    始める前に

    必要なロール:admin

    このタスクについて

    検索結果が 推奨アクション で生成されると、AI Search API の追加コンテキストペイロードで渡されるコンテキスト情報を使用して、検索結果を現在のレコードに関連付けることができます。このコンテキスト情報を使用すると、 AisDynamicFilter 拡張ポイントを介して前処理ロジックを実装し、現在のコンテキストレコードに一致する条件に基づいて検索結果をフィルタリングできます。

    前処理が実装されると、AI 検索は定義されたフィルター条件を考慮してから検索結果を返し、それらの条件に一致する結果のみが表示されるようにします。たとえば、現在のコンテキストレコードを検索結果から除外するフィルター条件を定義して、作業中のレコードが推奨事項に表示されないようにすることができます。

    手順

    1. 検索プロファイル内の特定の検索ソースに対して動的フィルタリングを有効にします。
      1. 移動先 すべて > AI 検索 > 検索エクスペリエンス > 検索プロファイル.
      2. [検索ソース] 関連リストから任意の検索ソースを選択します。
    2. 選択した検索ソースで、[ 動的フィルターあり ] チェックボックスをオンにして [保存] を選択します。
      注:
      インスタンスには複数の検索プロファイルが存在する場合があります。この機能が必要なプロファイル内の検索ソースに対してのみ、コンテキストフィルタリングを有効にします。検索ソースフォームの詳細については、「 検索ソースフォーム」を参照してください。
    3. 検索ソースの AisDynamicFilter 実装を作成します。
      1. 移動先 すべて > システム拡張ポイント > スクリプト化済みの拡張点.
      2. AisDynamicFilter 拡張ポイントを開きます。
      3. [ 実装を作成 ] リンクを選択して、実装を作成します。
        実装では、次のようになります。
        • isApplicable:このメソッドは、特定の検索ソースに動的フィルターを適用できるかどうかを決定する条件を定義します。実装では、次の形式の additionalContext 文字列化された JSON を使用します。AI 検索 API に渡されるコンテキスト情報を定義します。これは、AI 検索動的フィルターで使用され、検索結果をコンテキストによって除外します。
        • getFilterCondition:このメソッドを使用して、前処理中に AI 検索が検索結果に適用するフィルター基準を定義します。
        注:
        shouldRemoveDocument メソッドは実装しないでください。

        例:検索結果から現在のコンテキストレコードを除外する方法の実装例を次に示します。

        isApplicable: function(searchContextConfigId, profileId, tableName, additionalContext, preprocess) {
                if (additionalContext != null && JSON.parse(additionalContext).source == 'recommended-actions' && tableName == JSON.parse(additionalContext).contextRecordTable && preprocess) {
                    return true;
                }
                return false; 
            },
            getFilterCondition: function(searchContextConfigId, profileId, tableName, additionalContext) {
                if (additionalContext != null && JSON.parse(additionalContext).source == 'recommended-actions' && tableName == JSON.parse(additionalContext).contextRecordTable) {
                    var pasedAdditionalContext = JSON.parse(additionalContext);
                    var gr = new GlideRecord(tableName);
                    gr.addEncodedQuery('sys_id!=' + pasedAdditionalContext.contextRecordId);
                    gr.query();
                    return gr;
                }
        
            }, 
        
            shouldRemoveDocument: function(searchContextConfigId, profileId, recordClass, sysId, additionalContext) {
               
            },
        上記の additionalContext のパラメーターは次のように定義されます。
        • contextRecordId:推奨事項が表示される現在のコンテキストレコードの Sys ID。
        • contextRecordTable:推奨事項が表示される現在のコンテキストレコードのテーブル名。
        • contextualInputs:コンテキストレコードへの入力。
        • source:推奨アクションとして事前定義された検索要求の作成元。これにより、フィルター条件を推奨アクションに限定してスコープできるため、フィルタリングロジックが他の検索コンテキストには適用されません。

    タスクの結果

    推奨アクションコンテキストサイドパネルの [検索] タブには、現在のレコードのコンテキストに正確に一致する検索結果のみが表示されます。