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]

987
988
989
990
991
# File 'lib/couchbase/search_options.rb', line 987

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

Instance Attribute Details

#boostFloat

Returns:

  • (Float)

976
977
978
# File 'lib/couchbase/search_options.rb', line 976

def boost
  @boost
end

#fieldString

Returns:

  • (String)

982
983
984
# File 'lib/couchbase/search_options.rb', line 982

def field
  @field
end

#operatornil, ...

Returns:

  • (nil, :or, :and)

979
980
981
# File 'lib/couchbase/search_options.rb', line 979

def operator
  @operator
end

Instance Method Details

#to_json(*args) ⇒ String

Returns:

  • (String)
[View source]

994
995
996
997
998
999
1000
# File 'lib/couchbase/search_options.rb', line 994

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