SPScriptedFacetService - 범위 지정됨

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기2분
  • 고급 검색 소스에 대한 다중 선택 또는 단일 선택 패싯 객체를 생성합니다.

    SPScriptedFacetService API는 검색 소스의 패싯 작성 스크립트에서만 사용할 수 있습니다서비스 포털. 패싯 생성 스크립트는 스크립팅된 소스가 선택된 경우에만 표시됩니다.

    이 클래스에 대한 생성자가 없습니다. 대신 createFacet() 또는 createMultiChoiceFacet() 메서드를 사용하여 패싯 객체를 생성합니다.

    SPScriptedFacetService - createFacet(문자열 레이블, 문자열 ID)

    단일 선택 패싯 객체를 만듭니다.

    패싯 객체를 만든 후 SPScriptedFacet 클래스의 addFacetItem() 메서드를 사용하여 패싯 항목 또는 매핑된 쿼리를 패싯에 추가합니다.

    표 1. 매개변수
    이름 유형 설명
    레이블 문자열 패싯의 레이블입니다.
    id 문자열 패싯의 ID입니다.
    표 2. 반환
    유형 설명
    객체 단일 선택 패싯 객체입니다. 다음과 같은 경우 오류를 반환합니다.
    • 중복된 레이블 또는 ID가 있습니다.
    • 레이블 또는 ID가 정의되지 않았습니다.

    Service Portal 고급 검색 소스의 패싯 작성 스크립트에만 사용할 수 있습니다.

    var stateFacet = facetService.createFacet("State", "state");

    SPScriptedFacetService - createMultiChoiceFacet(문자열 레이블, 문자열 ID)

    다중 선택 패싯 객체를 만듭니다.

    패싯 객체를 만든 후 SPScriptedFacet 클래스의 addFacetItem() 메서드를 사용하여 패싯 항목 또는 매핑된 쿼리를 패싯에 추가합니다.

    표 3. 매개변수
    이름 유형 설명
    레이블 문자열 패싯의 레이블입니다.
    id 문자열 패싯의 ID입니다.
    표 4. 반환
    유형 설명
    객체 다중 선택 패싯 객체입니다.

    다음과 같은 경우 오류를 반환합니다.

    • 중복된 레이블 또는 ID가 있습니다.
    • 레이블 또는 ID가 정의되지 않았습니다.
    function createMultiChoiceFacetFromKB(label, variable, values, orderBy){
      if(!values || values.length == 0)
        return;
    
      var kbFacet = facetService.createMultiChoiceFacet(label, variable);
      var kbMap = {};
      for(var i in values) {
        var key = values[i].label;
        var value = values[i].id;
        var parent = new KBParentData().getParentCategory(value, key);
        key = parent.join(' > ');
        kbMap[key] = value;
      }
    
      var labels = Object.keys(kbMap).sort();
      for (i = 0; i < labels.length; i++) {
        var currentLabel = labels[i];
        kbFacet.addFacetItem(currentLabel, kbMap[currentLabel]);
        //adds facet search options for each kbMap entry
      }
    }