Class: Couchbase::Cluster::SearchQuery::TermRangeQuery

Inherits:
Couchbase::Cluster::SearchQuery show all
Defined in:
lib/couchbase/search_options.rb,
/Users/sergey.auseyau/code/couchbase-ruby-client/lib/couchbase/search_options.rb
more...

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

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| ... } ⇒ TermRangeQuery

Returns a new instance of TermRangeQuery.

Yield Parameters:

[View source]

512
513
514
515
516
517
518
519
# File 'lib/couchbase/search_options.rb', line 512

def initialize
  super
  @min = nil
  @min_inclusive = nil
  @max = nil
  @max_inclusive = nil
  yield self if block_given?
end

Instance Attribute Details

#boostFloat

Returns:

  • (Float)

481
482
483
# File 'lib/couchbase/search_options.rb', line 481

def boost
  @boost
end

#fieldString

Returns:

  • (String)

487
488
489
# File 'lib/couchbase/search_options.rb', line 487

def field
  @field
end

#operatornil, ...

Returns:

  • (nil, :or, :and)

484
485
486
# File 'lib/couchbase/search_options.rb', line 484

def operator
  @operator
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.

Parameters:

  • upper_bound (String)
  • inclusive (Boolean) (defaults to: nil)
[View source]

506
507
508
509
# File 'lib/couchbase/search_options.rb', line 506

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.

Parameters:

  • lower_bound (String)
  • inclusive (Boolean) (defaults to: nil)
[View source]

495
496
497
498
# File 'lib/couchbase/search_options.rb', line 495

def min(lower_bound, inclusive = nil)
  @min = lower_bound
  @min_inclusive = inclusive
end

#to_json(*args) ⇒ String

Returns:

  • (String)

Raises:

  • (ArgumentError)
[View source]

522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
# File 'lib/couchbase/search_options.rb', line 522

def to_json(*args)
  raise ArgumentError, "either min or max must be set for TermRangeQuery" if @min.nil? && @max.nil?

  data = {}
  data["boost"] = boost if boost
  data["operator"] = operator.to_s if operator
  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