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]

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

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

Instance Attribute Details

#boostFloat

Returns:

  • (Float)

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

def boost
  @boost
end

#fieldString

Returns:

  • (String)

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

def field
  @field
end

#operatornil, ...

Returns:

  • (nil, :or, :and)

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

def operator
  @operator
end

Instance Method Details

#to_json(*args) ⇒ String

Returns:

  • (String)
[View source]

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

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