Class: Couchbase::SearchQuery::TermRangeQuery
- Inherits:
-
Couchbase::SearchQuery
- Object
- Couchbase::SearchQuery
- Couchbase::SearchQuery::TermRangeQuery
- Defined in:
- lib/couchbase/search_options.rb
Overview
The term range query finds documents containing a string value in the specified field within the specified range.
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#initialize {|self| ... } ⇒ TermRangeQuery
constructor
A new instance of TermRangeQuery.
-
#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_h ⇒ Hash<Symbol, #to_json>
Methods inherited from Couchbase::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, #to_json, wildcard
Constructor Details
#initialize {|self| ... } ⇒ TermRangeQuery
Returns a new instance of TermRangeQuery.
545 546 547 548 549 550 551 552 |
# File 'lib/couchbase/search_options.rb', line 545 def initialize super @min = nil @min_inclusive = nil @max = nil @max_inclusive = nil yield self if block_given? end |
Instance Attribute Details
#boost ⇒ Float
517 518 519 |
# File 'lib/couchbase/search_options.rb', line 517 def boost @boost end |
#field ⇒ String
520 521 522 |
# File 'lib/couchbase/search_options.rb', line 520 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.
539 540 541 542 |
# File 'lib/couchbase/search_options.rb', line 539 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.
528 529 530 531 |
# File 'lib/couchbase/search_options.rb', line 528 def min(lower_bound, inclusive = nil) @min = lower_bound @min_inclusive = inclusive end |
#to_h ⇒ Hash<Symbol, #to_json>
555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 |
# File 'lib/couchbase/search_options.rb', line 555 def to_h raise Error::InvalidArgument, "either min or max must be set for TermRangeQuery" 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 end |