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