SPScriptedFacet - スコープ指定

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

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

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

    SPScriptedFacet - addFacetItem(文字列ラベル, オブジェクト valueObj)

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

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

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