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, geo_polygon, 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]

913
914
915
916
917
# File 'lib/couchbase/search_options.rb', line 913

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

Instance Attribute Details

#boostFloat

Returns:

  • (Float)

905
906
907
# File 'lib/couchbase/search_options.rb', line 905

def boost
  @boost
end

#fieldString

Returns:

  • (String)

908
909
910
# File 'lib/couchbase/search_options.rb', line 908

def field
  @field
end

Instance Method Details

#to_json(*args) ⇒ String

Returns:

  • (String)
[View source]

920
921
922
923
924
925
# File 'lib/couchbase/search_options.rb', line 920

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