Class: Couchbase::SearchQuery::DisjunctionQuery
- Inherits:
-
SearchQuery
- Object
- SearchQuery
- Couchbase::SearchQuery::DisjunctionQuery
- Defined in:
- lib/couchbase/search_options.rb,
/home/runner/work/couchbase-ruby-client/couchbase-ruby-client/lib/couchbase/search_options.rb
Overview
Result documents must satisfy a configurable min number of child queries.
Instance Attribute Summary collapse
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize(*queries) {|self| ... } ⇒ DisjunctionQuery
constructor
A new instance of DisjunctionQuery.
- #or_else(*queries) ⇒ Object
- #to_h ⇒ Hash<Symbol, #to_json>
Constructor Details
#initialize(*queries) {|self| ... } ⇒ DisjunctionQuery
Returns a new instance of DisjunctionQuery.
783 784 785 786 787 |
# File 'lib/couchbase/search_options.rb', line 783 def initialize(*queries) super() @queries = queries.flatten yield self if block_given? end |
Instance Attribute Details
#boost ⇒ Float
775 776 777 |
# File 'lib/couchbase/search_options.rb', line 775 def boost @boost end |
#min ⇒ Integer
778 779 780 |
# File 'lib/couchbase/search_options.rb', line 778 def min @min end |
Instance Method Details
#empty? ⇒ Boolean
794 795 796 |
# File 'lib/couchbase/search_options.rb', line 794 def empty? @queries.empty? end |
#or_else(*queries) ⇒ Object
790 791 792 |
# File 'lib/couchbase/search_options.rb', line 790 def or_else(*queries) @queries |= queries.flatten end |
#to_h ⇒ Hash<Symbol, #to_json>
799 800 801 802 803 804 805 806 807 808 809 810 |
# File 'lib/couchbase/search_options.rb', line 799 def to_h raise Error::InvalidArgument, "compound disjunction query must have sub-queries" if @queries.nil? || @queries.empty? data = {:disjuncts => @queries.uniq.map(&:to_h)} if min raise Error::InvalidArgument, "disjunction query has fewer sub-queries than configured minimum" if @queries.size < min data[:min] = min end data[:boost] = boost if boost data end |