Loading TOC...

jsearch.bucketName

jsearch.bucketName(
   $name as xs.string
) as BucketNameDefinition

Summary

Names a bucket below the smallest bound, between two bounds, or above the largest bound as input for the ValuesSearch.groupInto or FacetDefinition.groupInto method.

Parameters
$nameThe name for the bucket. Omit to use the default name for the bucket.

Usage Notes

If at least one bucket for grouped values is named, buckets without an explicit name will be assigned a default name.

See Also

Example


// Explicitly specify bucket names for a facets query
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.facets(
  jsearch.facet('Price','price')
    .groupInto([
      jsearch.bucketName('under $10'), 10,
      jsearch.bucketName('$10 to $19.99'), 20,
      jsearch.bucketName('over $20'), 1000
    ]))
  .where(cts.directoryQuery('/books/'))
  .result();

/* Results:

{"facets": {
  "price": {
    "under $10": {
      "value": {
        "minimum": 8,
        "maximum": 9,
        "upperBound": 10
      },
      "frequency": 2
    },
    "$10 to $19.99": {
      "value": {
        "minimum": 10,
        "maximum": 18,
        "lowerBound": 10,
        "upperBound": 20
      },
      "frequency": 4
    },
    "over $20": {
      "value": {
        "minimum": 20,
        "maximum": 30,
        "lowerBound": 20,
        "upperBound": 1000
      },
      "frequency": 2
    }
  }
} }
*/
   

Example


// Generate bucket names from the value ranges for a values query
jsearch.values('price')
  .where(cts.directoryQuery('/books/'))
  .groupInto([
    jsearch.bucketName(), 10,
    jsearch.bucketName(), 20,
    jsearch.bucketName()
    ])
  .result();

/* Result: The "name" property of each facet bucket, generated from the bucket
    boundaries.

[ {
    "minimum": 8,
    "maximum": 9,
    "upperBound": 10,
    "name": "x < 10"
  }, {
    "minimum": 10,
    "maximum": 19,
    "lowerBound": 10,
    "upperBound": 20,
    "name": "10 <= x < 20"
  }, {
    "minimum": 20,
    "maximum": 30,
    "lowerBound": 20,
    "name": "20 <= x"
} ]
*/
   

Comments

    Powered by MarkLogic Server 7.0-4.1 and rundmc | Terms of Use | Privacy Policy