The main builder class.
Examples
var body = new Bodybuilder()
.query('match', 'text', 'this is a test')
.build()Constructs the elasticsearch query body in its current state.
Parameters
versionString Version to generate.
Returns Object Query body.
Set a sort direction on a given field.
Parameters
fieldString Field name.direction[String] A valid direction: 'asc' or 'desc'. (optional, default'asc')
Returns Bodybuilder Builder class.
Set a from offset value, for paginating a query.
Parameters
quantityNumber The offset from the first result you want to fetch.
Returns Bodybuilder Builder class.
Set a size value for maximum results to return.
Parameters
quantityNumber Maximum number of results to return.
Returns Bodybuilder Builder class.
Set any key-value on the elasticsearch body.
Parameters
kString Key.vany Value.
Returns Bodybuilder Builder class.
Apply a filter of a given type providing all the necessary arguments, passing these arguments directly to the specified filter builder. Merges existing filter(s) with the new filter.
Parameters
typeString Name of the filter type.args...args Arguments passed to filter builder.
Returns Bodybuilder Builder class.
Apply a query of a given type providing all the necessary arguments, passing these arguments directly to the specified query builder. Merges existing query(s) with the new query.
Parameters
typeString Name of the query type.args...args Arguments passed to query builder.
Returns Bodybuilder Builder class.
Apply a aggregation of a given type providing all the necessary arguments,
passing these arguments directly to the specified aggregation builder.
Merges existing aggregation(s) with the new aggregation. You may nest
aggregations by passing in a Function callback as the last parameter.
The callback will receive the newly built aggregation upon which you can
keep calling aggregation(type, ...args).
Parameters
typeString Name of the aggregation type.args...args Arguments passed to aggregation builder. May include am optional nesting function as its last element.
Examples
var body = new Bodybuilder()
.query('match', 'text', 'this is a test')
.aggregation('terms', 'someField', 'bySomeField',
// Nest aggregations on "bySomeField"
agg =>
agg
.agregation('max', 'someOtherField')
.aggregation('missing', 'anotherField')
)
.build()Returns Bodybuilder Builder class.
Construct elasticsearch filters.
Examples
var body = new Bodybuilder()
.filter('missing', 'user', 'kimchy')
.build()Construct an Exists filter.
Parameters
fieldString Field name to check existence.
Returns Object Exists filter.
Construct a Fuzzy filter.
Parameters
Returns Object Fuzzy filter.
Construct a Match filter.
Parameters
Returns Object Match filter.
Construct a geo bounding box filter.
Parameters
Returns Object Geo bounding box filter.
Construct a Geo distance filter.
Parameters
fieldString Field name to query over.distanceString Distance.pointObject Geo point coordinates (conform with GeoJSON).
Returns Object Geo distance filter.
Construct a geo shape filter.
Parameters
Returns Object Geo shape filter.
Construct an Ids filter.
Parameters
valuesArray Ids
Returns Object Ids filter.
Construct a Match All filter.
Returns Object Match All filter.
Construct a Missing filter.
Parameters
fieldString Field name to check if missing.
Returns Object Missing filter.
Construct a Nested filter: a filter inside a filter.
See: elastic.co/guide/en/elasticsearch/reference/current/query-dsl-nested-filter.html
Parameters
pathString Name of the field containing the nested fields.typeString Name of the desired nested filter.fieldString Name of the nested field.argsArray Remaining arguments used to construct nested filter.
Returns Object Nested filter.
Construct a Prefix filter.
Parameters
Returns Object Prefix filter.
Construct a Range filter.
Parameters
Returns Object Range filter.
Construct a Regexp filter.
Parameters
Returns Object Regexp filter.
Construct a Wildcard filter.
Parameters
Returns Object Wildcard filter.
Construct a Term filter.
Parameters
Returns Object Term filter.
Construct a Terms filter.
Parameters
Returns Object Terms filter.
Construct a Type filter.
Parameters
typeString Query value.
Returns Object Type filter.
Construct elasticsearch queries.
Examples
var body = new Bodybuilder()
.query('query_string', 'this AND that')
.build()Construct a Fuzzy query.
Parameters
Returns Object Fuzzy query.
Construct a Match query.
Parameters
fieldString Field name to query over.termString Query value.opts[Object](default {}) See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html for available options
Returns Object Match query.
Construct a Multi Match query. Default type is 'best_fields'.
Parameters
fieldsArray The field names to query over.queryString The query string.options[Object](default defaultOptions) See docs for possible options https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html
Returns Object Multi Match query.
Construct a Query String query.
Parameters
fieldsArray The field names to query over.termString Query value.options[Object](default {}) See docs for possible options https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
Returns Object Query String query.
Construct a Range query.
Parameters
Returns Object Range query.
Construct a Term query.
Parameters
Returns Object Term query.
Construct a Terms query.
Parameters
Returns Object Terms query.
Construct a function_score query https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html
Parameters
Returns Object Function score query
Construct a Type query.
Parameters
typeString Type value.
Returns Object Type query.
Construct elasticsearch aggregations.
Examples
var body = new Bodybuilder()
.aggregation('sum', 'grade')
.build()Construct a Avg aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_avg_.optsObject Additional options to include in the aggregation.
Returns Object Avg Aggregation.
Construct a Cardinality aggregation
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_cardinality_.optsObject Additional options to include in the aggregation.
Returns Object Cardinality Aggregation.
Construct a Children aggregation.
Parameters
typeString Document type on which to join.nameString Aggregation name. Defaults to agg_histogram_.
Returns Object Children aggregation.
Construct a Date Histogram aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_date_histogram_.optsObject Additional options to include in the aggregation.
Returns Object Date Histogram Aggregation.
Construct a Extended Stats aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_extended_stats_.optsObject Additional options to include in the aggregation.
Returns Object Extended Stats Aggregation.
Construct a Filter aggregation.
Parameters
filterCbString Callback function that will be passed the FilterBuildernameString Aggregation name. Defaults to agg_filter.optsObject Additional options to include in the aggregation.
Returns Object Filter Aggregation.
Construct a Geohash grid aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_histogram_.optsObject Additional options to include in the aggregation.
Returns Object Histogram Aggregation.
Construct a Global aggregation.
Parameters
name[String] Aggregation name. Defaults to agg_global.
Returns Object Global aggregation.
Construct a Histogram aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_histogram_.optsObject Additional options to include in the aggregation.
Returns Object Histogram Aggregation.
Construct a Max aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_max_.optsObject Additional options to include in the aggregation.
Returns Object Max aggregation.
Construct a Min aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_min_.optsObject Additional options to include in the aggregation.
Returns Object Min aggregation.
Construct a Missing aggregation.
Parameters
Returns Object Missing Aggregation.
Construct a Nested aggregation.
Parameters
Returns Object Nested aggregation.
Construct a Percentiles aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_percentiles_.optsObject Additional options to include in the aggregation.
Returns Object Percentiles Aggregation.
Construct a Range aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_terms_.optsObject Additional options to include in the aggregation.
Returns Object Range aggregation.
Construct a Reverse nested aggregation.
Parameters
name[String] Aggregation name. Defaults to agg_reverse_nested.optsObject Additional options to include in the aggregation.
Returns Object Reverse nested aggregation.
Construct a Scripted Metric aggregation.
Parameters
map_scriptString The script as a string associated to the map_script step.name[String] Aggregation name. Defaults to agg_scripted_metric.optsObject Additional options to include in the aggregation.
Returns Object Scripted Metric aggregation.
Construct a Significant Terms aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_significant_terms_.optsObject Additional options to include in the aggregation.
Returns Object Significant Terms aggregation.
Construct a Stats aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_stats_.optsObject Additional options to include in the aggregation.
Returns Object Stats Aggregation.
Construct a Sum aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_sum_.optsObject Additional options to include in the aggregation.
Returns Object Sum Aggregation.
Construct a Terms aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_terms_.optsObject Additional options to include in the aggregation.
Returns Object Terms aggregation.
Construct a Top hits aggregation.
Parameters
name[String] Aggregation name. Defaults to 'agg_top_hits_{count}'.optsObject Options to include in the aggregation.
Returns Object Top hits Aggregation.
Construct a Value Count aggregation.
Parameters
fieldString Field name to aggregate over.name[String] Aggregation name. Defaults to agg_value_count_.optsObject Additional options to include in the aggregation.
Returns Object Value Count Aggregation.