lib/sunspot/query/query.rb in sunspot-0.10.5 vs lib/sunspot/query/query.rb in sunspot-0.10.6

- old
+ new

@@ -3,13 +3,12 @@ class Query attr_accessor :scope, :fulltext, :parameter_adjustment def initialize(types) @scope = Scope.new - @field_facets = [] - @query_facets = {} @sort = SortComposite.new + @components = [] if types.length == 1 @scope.add_restriction(TypeField.instance, Restriction::EqualTo, types.first) else @scope.add_restriction(TypeField.instance, Restriction::AnyOf, types) end @@ -25,25 +24,22 @@ def add_location_restriction(coordinates, radius) @local = Local.new(coordinates, radius) end - def add_field_facet(field, options = {}) - facet = FieldFacet.build(field, options) - if facet.is_a?(QueryFacet) - @query_facets[field.name.to_sym] = facet - else - @field_facets << facet - end + def add_sort(sort) + @sort << sort end - def add_query_facet(name, options = {}) - @query_facets[name.to_sym] = QueryFacet.new(name, options) + def add_field_facet(facet) + @components << facet + facet end - def add_sort(sort) - @sort << sort + def add_query_facet(facet) + @components << facet + facet end def paginate(page, per_page) if @pagination @pagination.page = page @@ -65,19 +61,16 @@ { :q => @scope.to_boolean_phrase } else @scope.to_params end Sunspot::Util.deep_merge!(params, @fulltext.to_params) if @fulltext - @field_facets.each do |facet| - Sunspot::Util.deep_merge!(params, facet.to_params) - end - @query_facets.values.each do |facet| - Sunspot::Util.deep_merge!(params, facet.to_params) - end Sunspot::Util.deep_merge!(params, @sort.to_params) Sunspot::Util.deep_merge!(params, @pagination.to_params) if @pagination Sunspot::Util.deep_merge!(params, @local.to_params) if @local + @components.each do |component| + Sunspot::Util.deep_merge!(params, component.to_params) + end @parameter_adjustment.call(params) if @parameter_adjustment params[:q] ||= '*:*' params end @@ -85,13 +78,9 @@ @pagination.page if @pagination end def per_page @pagination.per_page if @pagination - end - - def query_facet(name) - @query_facets[name] if @query_facets end end end end