module Sunspot::DSL::Functional

Mixin DSL to accept functions.

Public Instance Methods

function(&block) click to toggle source

Specify a function query with a block that returns an expression.

Examples

function { 10 }
function { :average_rating }
function { sum(:average_rating, 10) }

See wiki.apache.org/solr/FunctionQuery for a list of all applicable functions

# File lib/sunspot/dsl/functional.rb, line 20
def function(&block)
  expression = Sunspot::Util.instance_eval_or_call(
    Function.new(self),
    &block
  )
  create_function_query(expression)
end