1 /**
  2  * @name Facets
  3  * @class Shows facets for a field
  4  * @description Displays the Faceted values for the given field
  5  * @param [fieldId] The field id to collect facets on
  6  * @param [pageNumber] The page number. Default value is 0.
  7  * @param [pageSize] The page size. Default value is 1000.
  8  * @param [hierarchyLevel] The level of hierarchy. Default value is 0.<br>
  9  *                         Example: Level 0 == car, Level 1 == car:honda, car:toyota, etc.
 10  * @returns {
 11 			  value: string;
 12 			  count: number;
 13 			  raw: string;
 14 			}
 15  * @example /wf/restapi/v2/facets
 16  *
 17  * Parameters:
 18  * fieldId=http://mediabeacon.com/ns/default/1.0/ format
 19  * pageNumber=0
 20  * pageSize=1000
 21  * hierarchyLevel=0
 22  *
 23  Response:
 24  [
 25  {
 26     "value": "JPEG",
 27     "count": 631,
 28     "raw": "Graphics:JPEG"
 29   },
 30  {
 31     "value": "PNG",
 32     "count": 7,
 33     "raw": "Graphics:PNG"
 34   },
 35  {
 36     "value": "mp4",
 37     "count": 6,
 38     "raw": "video:mp4"
 39   },
 40  {
 41     "value": "Bundle",
 42     "count": 2,
 43     "raw": "Data:Bundle"
 44   },
 45  {
 46     "value": "MOV",
 47     "count": 2,
 48     "raw": "Video:MOV"
 49   },...
 50  ]
 51  */
 52 var REST = library.REST.REST();
 53 
 54 (function main(theFieldId, thePageNumber, thePageSize, theHierarchyLevel) {
 55   try {
 56     return REST.formatResponse(
 57       REST.getFacets(
 58         theFieldId,
 59         thePageSize,
 60         false,
 61         theHierarchyLevel,
 62         thePageNumber
 63       )
 64     );
 65   } catch (e) {
 66     logger.error("Error in getFacets: \n " + e + "\n" + e.stack);
 67     return REST.formatResponse([]);
 68   }
 69 })(
 70   context.getParameter("fieldId"),
 71   context.getParameter("pageNumber"),
 72   context.getParameter("pageSize"),
 73   context.getParameter("hierarchyLevel")
 74 );
 75