Class: Couchbase::Cluster::SearchQuery::DisjunctionQuery
Overview
Result documents must satisfy a configurable min number of child queries.
Instance Attribute Summary collapse
Instance Method Summary
collapse
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(*queries) {|self| ... } ⇒ DisjunctionQuery
Returns a new instance of DisjunctionQuery.
[View source]
774
775
776
777
778
|
# File 'lib/couchbase/search_options.rb', line 774
def initialize(*queries)
super()
@queries = queries.flatten
yield self if block_given?
end
|
Instance Attribute Details
#boost ⇒ Float
763
764
765
|
# File 'lib/couchbase/search_options.rb', line 763
def boost
@boost
end
|
#min ⇒ Integer
769
770
771
|
# File 'lib/couchbase/search_options.rb', line 769
def min
@min
end
|
#operator ⇒ nil, ...
766
767
768
|
# File 'lib/couchbase/search_options.rb', line 766
def operator
@operator
end
|
Instance Method Details
#empty? ⇒ Boolean
[View source]
785
786
787
|
# File 'lib/couchbase/search_options.rb', line 785
def empty?
@queries.empty?
end
|
#or_else(*queries) ⇒ Object
[View source]
781
782
783
|
# File 'lib/couchbase/search_options.rb', line 781
def or_else(*queries)
@queries |= queries.flatten
end
|
#to_json(*args) ⇒ String
[View source]
790
791
792
793
794
795
796
797
798
799
800
801
802
|
# File 'lib/couchbase/search_options.rb', line 790
def to_json(*args)
raise ArgumentError, "compound disjunction query must have sub-queries" if @queries.nil? || @queries.empty?
data = {"disjuncts" => @queries.uniq}
if min
raise ArgumentError, "disjunction query has fewer sub-queries than configured minimum" if @queries.size < min
data["min"] = min
end
data["boost"] = boost if boost
data["operator"] = operator.to_s if operator
data.to_json(*args)
end
|