Class: Couchbase::Cluster::SearchQuery::NumericRangeQuery
- Inherits:
-
Couchbase::Cluster::SearchQuery
- Object
- Couchbase::Cluster::SearchQuery
- Couchbase::Cluster::SearchQuery::NumericRangeQuery
- Defined in:
- lib/couchbase/search_options.rb,
/Users/sergey.auseyau/code/couchbase-ruby-client/lib/couchbase/search_options.rb more...
Overview
The numeric range query finds documents containing a numeric value in the specified field within the specified range.
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#initialize {|self| ... } ⇒ NumericRangeQuery
constructor
A new instance of NumericRangeQuery.
-
#max(upper_bound, inclusive = nil) ⇒ Object
Sets upper bound of the range.
-
#min(lower_bound, inclusive = nil) ⇒ Object
Sets lower bound of the range.
- #to_json(*args) ⇒ String
Methods inherited from Couchbase::Cluster::SearchQuery
boolean_field, booleans, conjuncts, date_range, disjuncts, doc_id, geo_bounding_box, geo_distance, geo_polygon, match, match_all, match_none, match_phrase, numeric_range, phrase, prefix, query_string, regexp, term, term_range, wildcard
Constructor Details
#initialize {|self| ... } ⇒ NumericRangeQuery
Returns a new instance of NumericRangeQuery.
406 407 408 409 410 411 412 413 |
# File 'lib/couchbase/search_options.rb', line 406 def initialize super @min = nil @min_inclusive = nil @max = nil @max_inclusive = nil yield self if block_given? end |
Instance Attribute Details
#boost ⇒ Float
378 379 380 |
# File 'lib/couchbase/search_options.rb', line 378 def boost @boost end |
#field ⇒ String
381 382 383 |
# File 'lib/couchbase/search_options.rb', line 381 def field @field end |
Instance Method Details
#max(upper_bound, inclusive = nil) ⇒ Object
Sets upper bound of the range.
The upper boundary is considered exclusive by default on the server side.
400 401 402 403 |
# File 'lib/couchbase/search_options.rb', line 400 def max(upper_bound, inclusive = nil) @max = upper_bound @max_inclusive = inclusive end |
#min(lower_bound, inclusive = nil) ⇒ Object
Sets lower bound of the range.
The lower boundary is considered inclusive by default on the server side.
389 390 391 392 |
# File 'lib/couchbase/search_options.rb', line 389 def min(lower_bound, inclusive = nil) @min = lower_bound @min_inclusive = inclusive end |
#to_json(*args) ⇒ String
416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 |
# File 'lib/couchbase/search_options.rb', line 416 def to_json(*args) raise ArgumentError, "either min or max must be set for NumericRangeQuery" if @min.nil? && @max.nil? data = {} data["boost"] = boost if boost data["field"] = field if field if @min data["min"] = @min data["inclusive_min"] = @min_inclusive unless @min_inclusive.nil? end if @max data["max"] = @max data["inclusive_max"] = @max_inclusive unless @max_inclusive.nil? end data.to_json(*args) end |