SPScriptedFacet - スコープ指定

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:2分
  • ファセットオブジェクトのファセットアイテム、フィルター、またはマッピングされたクエリを定義します。

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

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

    SPScriptedFacet - addFacetItem(String label, Object valueObj)

    ファセットアイテムまたはマッピングされたクエリをファセットオブジェクトに追加します。

    ファセット項目をファセットオブジェクトに追加する前に、SPScriptedFacetService クラスの createFacet() メソッドまたは createMultiChoiceFacet() メソッドを使用してファセットオブジェクトを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    ラベル 文字列 ファセットアイテムまたはマッピングされたクエリの表示ラベル。
    値オブジェクト オブジェクト ファセットアイテムまたはファセットのマッピングされたクエリ。文字列、数値、ブール、および倍精度のタイプのみを含めることができます。
    表 : 2. 戻り値
    タイプ 説明
    なし
    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
      }
    }