Sha256: 902cb6660693c251b065bb537d443c94eb9f36153360c18d5f27709c16c4cfa6

Contents?: true

Size: 1.42 KB

Versions: 11

Compression:

Stored size: 1.42 KB

Contents

module Sunspot
  module DSL
    class FieldGroup
      def initialize(query, setup, group)
        @query, @setup, @group = query, setup, group
      end

      #
      # Sets the number of results (documents) to return for each group.
      # Defaults to 1.
      #
      def limit(num)
        @group.limit = num
      end

      #
      # If set, facet counts are based on the most relevant document of
      # each group matching the query.
      #
      # Supported in Solr 3.4 and above.
      #
      # ==== Example
      #
      #     Sunspot.search(Post) do
      #       group :title do
      #         truncate
      #       end
      #
      #       facet :title, :extra => :any
      #     end
      #
      def truncate
        @group.truncate = true
      end

      # Specify the order that results should be returned in. This method can
      # be called multiple times; precedence will be in the order given.
      #
      # ==== Parameters
      #
      # field_name<Symbol>:: the field to use for ordering
      # direction<Symbol>:: :asc or :desc (default :asc)
      #
      def order_by(field_name, direction = nil)
        sort =
          if special = Sunspot::Query::Sort.special(field_name)
            special.new(direction)
          else
            Sunspot::Query::Sort::FieldSort.new(
              @setup.field(field_name), direction
            )
          end
        @group.add_sort(sort)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
gojee-sunspot-2.0.5 lib/sunspot/dsl/field_group.rb
gojee-sunspot-2.0.4 lib/sunspot/dsl/field_group.rb
gojee-sunspot-2.0.2 lib/sunspot/dsl/field_group.rb
sunspot-2.0.0.pre.120720 lib/sunspot/dsl/field_group.rb
sunspot-2.0.0.pre.120417 lib/sunspot/dsl/field_group.rb
sunspot-2.0.0.pre.120415 lib/sunspot/dsl/field_group.rb
erichummel-sunspot-2.0.0.pre.111215d lib/sunspot/dsl/field_group.rb
erichummel-sunspot-2.0.0.pre.111215c lib/sunspot/dsl/field_group.rb
erichummel-sunspot-2.0.0.pre.111215b lib/sunspot/dsl/field_group.rb
erichummel-sunspot-2.0.0.pre.111215a lib/sunspot/dsl/field_group.rb
erichummel-sunspot-2.0.0.pre.111215 lib/sunspot/dsl/field_group.rb