용 AI 검색에서 동적 필터 구성 권장 작업

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 4분
  • 현재 기록 컨텍스트에 따라 검색 결과가 동적으로 필터링되도록 AI 검색을 권장 작업 구성하여 상황별 입력을 전처리합니다.

    시작하기 전에

    필요한 역할: 관리자

    이 태스크 정보

    에서 검색 결과가 생성 권장 작업되면 AI 검색 API의 추가 컨텍스트 페이로드에 전달된 컨텍스트 정보를 사용하여 현재 기록과 상황에 맞게 관련성을 설정할 수 있습니다. 이 컨텍스트 정보를 사용하면 AisDynamicFilter 확장점을 통해 전처리 논리를 구현하여 현재 컨텍스트 기록과 일치하는 조건에 따라 검색 결과를 필터링할 수 있습니다.

    전처리가 구현되면 AI 검색은 검색 결과를 반환하기 전에 정의된 필터 조건을 고려하여 해당 조건과 일치하는 결과만 표시되도록 합니다. 예를 들어, 작업 중인 기록이 권장 사항에 나타나지 않도록 필터 조건을 정의하여 검색 결과에서 현재 컨텍스트 기록을 제외할 수 있습니다.

    프로시저

    1. 검색 프로파일에서 특정 검색 소스에 대해 동적 필터링을 활성화합니다.
      1. 다음으로 이동 모두 > AI 검색 > 검색 환경 > 검색 프로파일.
      2. 검색 소스 관련 목록에서 원하는 검색 소스를 선택합니다.
    2. 선택한 검색 소스에서 Has Dynamic Filters 확인란을 선택하고 Save(저장)를 선택합니다.
      주:
      인스턴스에 여러 검색 프로파일이 있을 수 있습니다. 이 기능이 필요한 프로파일의 검색 소스에 대해서만 상황별 필터링을 활성화합니다. 검색 소스 양식에 대한 자세한 내용은 검색 소스 양식을 참조하십시오.
    3. 검색 소스에 대한 AisDynamicFilter 구현을 생성합니다.
      1. 다음으로 이동 모두 > 시스템 확장점 > 스크립팅된 확장점.
      2. AisDynamicFilter 확장점을 엽니다.
      3. 구현 생성 링크를 선택하여 구현을 생성합니다.
        구현에서:
        • isApplicable: 이 메서드는 동적 필터를 지정된 검색 소스에 적용해야 하는지 여부를 결정하는 조건을 정의합니다. 구현에서 additionalContext 문자열화된 JSON을 다음 형식으로 사용합니다. 이는 AI 검색 동적 필터에 사용되는 AI 검색 API에 전달되는 상황별 정보를 정의합니다. 이 정보는 검색 결과를 상황별로 필터링합니다.
        • 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: 권장 사항이 표시되는 현재 컨텍스트 기록의 시스템 ID입니다.
        • contextRecordTable: 권장 사항이 표시되는 현재 컨텍스트 기록의 테이블 이름입니다.
        • contextualInputs: 컨텍스트 기록에 대한 입력입니다.
        • source: 권장 작업으로 미리 정의되어 있는 검색 요청의 원본입니다. 이렇게 하면 필터 조건의 범위를 권장 작업으로 구체적으로 지정할 수 있으므로 필터링 논리가 다른 검색 컨텍스트에 적용되지 않습니다.

    결과

    컨텍스트 측면 패널의 권장 작업 검색 탭에는 현재 기록의 정확한 컨텍스트와 일치하는 검색 결과만 표시됩니다.