SPScriptedFacet - スコープ指定
ファセットオブジェクトのファセットアイテム、フィルター、またはマッピングされたクエリを定義します。
SPScriptedFacet API は、サービスポータル 検索ソースのファセット生成スクリプトでのみ使用できます。ファセット生成スクリプトは、[ スクリプト化済みソースである] が選択されている場合にのみ表示されます。
このクラスのコンストラクターはありません。代わりに、SPScriptedFacetService クラスの createFacet() メソッドまたは createMultiChoiceFacet() メソッドを使用してファセット オブジェクトを生成します。
SPScriptedFacet - addFacetItem(String label, Object valueObj)
ファセットアイテムまたはマッピングされたクエリをファセットオブジェクトに追加します。
ファセット項目をファセットオブジェクトに追加する前に、SPScriptedFacetService クラスの createFacet() メソッドまたは createMultiChoiceFacet() メソッドを使用してファセットオブジェクトを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ラベル | 文字列 | ファセットアイテムまたはマッピングされたクエリの表示ラベル。 |
| 値オブジェクト | オブジェクト | ファセットアイテムまたはファセットのマッピングされたクエリ。文字列、数値、ブール、および倍精度のタイプのみを含めることができます。 |
| タイプ | 説明 |
|---|---|
| なし |
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
}
}