Class: Couchbase::Cluster::SearchQuery::PhraseQuery

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

A query that looks for exact match of several terms (in the exact order) in the index. Usual better alternative is MatchPhraseQuery.

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, match, match_all, match_none, match_phrase, numeric_range, phrase, prefix, query_string, regexp, term, term_range, wildcard

Constructor Details

#initialize(*terms) {|self| ... } ⇒ PhraseQuery

Returns a new instance of PhraseQuery.

Parameters:

  • terms (*String)

Yield Parameters:

[View source]

855
856
857
858
859
# File 'lib/couchbase/search_options.rb', line 855

def initialize(*terms)
  super()
  @terms = terms.flatten
  yield self if block_given?
end

Instance Attribute Details

#boostFloat

Returns:

  • (Float)

847
848
849
# File 'lib/couchbase/search_options.rb', line 847

def boost
  @boost
end

#fieldString

Returns:

  • (String)

850
851
852
# File 'lib/couchbase/search_options.rb', line 850

def field
  @field
end

Instance Method Details

#to_json(*args) ⇒ String

Returns:

  • (String)
[View source]

862
863
864
865
866
867
# File 'lib/couchbase/search_options.rb', line 862

def to_json(*args)
  data = {"terms" => @terms.flatten.uniq}
  data["boost"] = boost if boost
  data["field"] = field if field
  data.to_json(*args)
end