Sha256: 210c2fffdedfacb769f4130f3e65979141282f1e8debd889da645288df144d9c

Contents?: true

Size: 753 Bytes

Versions: 40

Compression:

Stored size: 753 Bytes

Contents

module Sunspot
  module Query
    class CompositeFulltext
      def initialize
        @components = []
      end

      def add(keywords)
        @components << dismax = Dismax.new(keywords)
        dismax
      end
      
      def add_location(field, lat, lng, options)
        @components << location = Geo.new(field, lat, lng, options)
        location
      end

      def to_params
        case @components.length
        when 0
          {}
        when 1
          @components.first.to_params.merge(:fl => '* score')
        else
          to_subqueries.merge(:fl => '* score')
        end
      end

      private

      def to_subqueries
        { :q => @components.map { |dismax| dismax.to_subquery }.join(' ') }
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 9 rubygems

Version Path
sunspot-2.1.1 lib/sunspot/query/composite_fulltext.rb
sunspot-2.1.0 lib/sunspot/query/composite_fulltext.rb
sunspot-2.0.0 lib/sunspot/query/composite_fulltext.rb
sunspot-2.0.0.pre.130115 lib/sunspot/query/composite_fulltext.rb
gojee-sunspot-2.0.5 lib/sunspot/query/composite_fulltext.rb
sunspot-2.0.0.pre.120925 lib/sunspot/query/composite_fulltext.rb
sunspot_solr-2.0.0.pre.120924 sunspot/lib/sunspot/query/composite_fulltext.rb
sunspot_rails-2.0.0.pre.120924 sunspot/lib/sunspot/query/composite_fulltext.rb
sunspot-2.0.0.pre.120924 sunspot/lib/sunspot/query/composite_fulltext.rb
gojee-sunspot-2.0.4 lib/sunspot/query/composite_fulltext.rb
gojee-sunspot-2.0.2 lib/sunspot/query/composite_fulltext.rb
sunspot-2.0.0.pre.120720 lib/sunspot/query/composite_fulltext.rb
sunspot-1.3.3 lib/sunspot/query/composite_fulltext.rb
sunspot-1.3.2 lib/sunspot/query/composite_fulltext.rb
sunspot-2.0.0.pre.120417 lib/sunspot/query/composite_fulltext.rb
sunspot-2.0.0.pre.120415 lib/sunspot/query/composite_fulltext.rb
sunspot-1.3.1 lib/sunspot/query/composite_fulltext.rb
erichummel-sunspot-2.0.0.pre.111215d lib/sunspot/query/composite_fulltext.rb
erichummel-sunspot-2.0.0.pre.111215c lib/sunspot/query/composite_fulltext.rb
erichummel-sunspot-2.0.0.pre.111215b lib/sunspot/query/composite_fulltext.rb