Sha256: c383a1bccde5b608802926d9eeef6bf357a0446626a834238555698192f2130d

Contents?: true

Size: 1.15 KB

Versions: 89

Compression:

Stored size: 1.15 KB

Contents

module Sunspot
  module Query
    class Dismax
      def to_params
        params = { :q => @keywords }
        params[:fl] = '* score'
        params[:qf] = @fulltext_fields.values.map { |field| field.to_boosted_field }.join(' ')
        params[:defType] = 'edismax'
        if @phrase_fields
          params[:pf] = @phrase_fields.map { |field| field.to_boosted_field }.join(' ')
        end
        unless @boost_queries.empty?
          params[:bq] = @boost_queries.map do |boost_query|
            boost_query.to_boolean_phrase
          end
        end
        unless @boost_functions.empty?
          params[:bf] = @boost_functions.map do |boost_function|
            boost_function.to_s
          end
        end
        if @minimum_match
          params[:mm] = @minimum_match
        end
        if @phrase_slop
          params[:ps] = @phrase_slop
        end
        if @query_phrase_slop
          params[:qs] = @query_phrase_slop
        end
        if @tie
          params[:tie] = @tie
        end
        @highlights.each do |highlight|
          Sunspot::Util.deep_merge!(params, highlight.to_params)
        end
        params
      end
    end
  end
end

Version data entries

89 entries across 89 versions & 3 rubygems

Version Path
enju_leaf-1.1.4 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.3 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.2 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.1 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc22 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc21 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc20 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc19 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc18 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc17 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc16 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc15 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc14 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc13 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc12 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc11 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc10 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc9 lib/plugins/ext/sunspot/dismax.rb
enju_leaf-1.1.0.rc8 lib/plugins/ext/sunspot/dismax.rb