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