Class: Stretchy::Queries::FunctionScoreQuery
- Defined in:
- lib/stretchy/queries/function_score_query.rb
Constant Summary collapse
- SCORE_MODES =
%w(multiply sum avg first max min)
- BOOST_MODES =
%w(multiply replace sum avg max min)
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ FunctionScoreQuery
constructor
A new instance of FunctionScoreQuery.
- #to_search ⇒ Object
Methods included from Utils::Validation
#errors, included, #json_attributes, #require_one!, #require_only_one!, #valid?, #validate!, #validator
Constructor Details
#initialize(options = {}) ⇒ FunctionScoreQuery
Returns a new instance of FunctionScoreQuery.
31 32 33 34 35 36 |
# File 'lib/stretchy/queries/function_score_query.rb', line 31 def initialize( = {}) self.class.attribute_set.set(self, ) if set_default_attributes require_only_one! :query, :filter validate! end |
Instance Method Details
#to_search ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/stretchy/queries/function_score_query.rb', line 38 def to_search json = {} attributes.each do |field, value| json[field] = value if value end json[:functions] = @functions.map(&:to_search) if @query json[:query] = @query.to_search elsif @filter json[:filter] = @filter.to_search else json[:query] = Stretchy::Queries::MatchAllQuery.new.to_search end { function_score: json } end |