SPScriptedFacetService - スコープ指定

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:3分
  • 詳細検索ソースの複数選択肢または単一選択肢のファセットオブジェクトを生成します。

    SPScriptedFacetService API は、サービスポータル検索ソースのファセット生成スクリプトでのみ使用できます。ファセット生成スクリプトは、[ スクリプト化済みソースである] が選択されている場合にのみ表示されます。

    このクラスにはコンストラクターはありません。代わりに、 createFacet() メソッドまたは createMultiChoiceFacet() メソッドを使用してファセットオブジェクトを生成します。

    SPScriptedFacetService - createFacet(文字列ラベル, 文字列 ID)

    単一選択肢ファセットオブジェクトを作成します。

    ファセット オブジェクトを作成したら、SPScriptedFacet クラスの addFacetItem() メソッドを使用して、ファセット項目またはマップされたクエリをファセットに追加します。

    表 : 1. パラメーター
    名前 タイプ 説明
    label 文字列 ファセットのラベル。
    ID 文字列 ファセットの ID。
    表 : 2. 返される内容
    タイプ 説明
    オブジェクト 単一選択肢ファセットオブジェクト。次の場合にエラーを返します。
    • 重複するラベルまたは ID が見つかりました。
    • ラベルまたは ID が定義されていません。

    サービスポータルの詳細検索ソースのファセット生成スクリプトでのみ使用できます。

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

    SPScriptedFacetService - createMultiChoiceFacet(String label, String id)

    複数選択肢ファセットオブジェクトを作成します。

    ファセット オブジェクトを作成したら、SPScriptedFacet クラスの addFacetItem() メソッドを使用して、ファセット項目またはマップされたクエリをファセットに追加します。

    表 : 3. パラメーター
    名前 タイプ 説明
    label 文字列 ファセットのラベル。
    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
      }
    }