SPScriptedFacet - 범위 지정
패싯 객체에 대한 패싯 항목, 필터 또는 매핑된 쿼리를 정의합니다.
SPScriptedFacet API는 검색 원본의 패싯 생성 스크립트에서만 사용할 수 있습니다서비스 포털. 패싯 생성 스크립트는 스크립팅된 소스 가져오기 를 선택한 경우에만 표시됩니다.
이 클래스에 대한 생성자가 없습니다. 대신 SPScriptedFacetService 클래스의 createFacet() 또는 createMultiChoiceFacet() 메서드를 사용하여 패싯 개체를 생성합니다.
범위가 지정된 SPScriptedFacet - addFacetItem(문자열, 레이블, valueObj 객체)
패싯 항목 또는 매핑된 쿼리를 패싯 개체에 추가합니다.
패싯 개체에 패싯 항목을 추가하기 전에 SPScriptedFacetService 클래스의 createFacet() 또는 createMultiChoiceFacet() 메서드를 사용하여 패싯 개체를 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 패싯 항목 또는 매핑된 쿼리의 표시 레이블입니다. |
| 값 객체 | 객체 | 패싯 항목 또는 패싯에 대한 매핑된 쿼리입니다. String, Number, Boolean 및 Double 형식만 포함할 수 있습니다. |
| 유형 | 설명 |
|---|---|
| void |
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
}
}