diff --git a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/class_methods.rb b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/class_methods.rb index 51ff47f..54e8edc 100644 --- a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/class_methods.rb +++ b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/class_methods.rb @@ -208,7 +208,7 @@ module ActsAsSolr #:nodoc: # using eager loading for indexed associations. def rebuild_solr_index(batch_size=300, options = {}, &finder) finder ||= lambda do |ar, sql_options| - ar.all sql_options.merge!({:order => self.primary_key, :include => configuration[:solr_includes].keys}) + ar.all sql_options.merge!({:order => self.primary_key}) end start_time = Time.now options[:offset] ||= 0 diff --git a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/instance_methods.rb b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/instance_methods.rb index 2c2ca35..d04855c 100644 --- a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/instance_methods.rb +++ b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/instance_methods.rb @@ -1,5 +1,5 @@ module ActsAsSolr #:nodoc: - + module InstanceMethods # Solr id is : to be unique across all models @@ -10,7 +10,7 @@ module ActsAsSolr #:nodoc: # saves to the Solr index def solr_save return true if indexing_disabled? - if evaluate_condition(:if, self) + if evaluate_condition(:if, self) debug "solr_save: #{self.class.name} : #{record_id(self)}" solr_add to_solr_doc solr_commit if configuration[:auto_commit] @@ -38,9 +38,9 @@ module ActsAsSolr #:nodoc: debug "to_solr_doc: creating doc for class: #{self.class.name}, id: #{record_id(self)}" doc = Solr::Document.new doc.boost = validate_boost(configuration[:boost]) if configuration[:boost] - + doc << {:id => solr_id, - solr_configuration[:type_field] => self.class.name, + solr_configuration[:type_field] => Solr::Util.query_parser_escape(self.class.name), solr_configuration[:primary_key_field] => record_id(self).to_s} # iterate through the fields and add them to the document, @@ -50,7 +50,7 @@ module ActsAsSolr #:nodoc: field_boost = options[:boost] || solr_configuration[:default_boost] field_type = get_solr_field_type(options[:type]) solr_name = options[:as] || field_name - + value = self.send("#{field_name}_for_solr") rescue nil next if value.nil? @@ -63,18 +63,18 @@ module ActsAsSolr #:nodoc: field.boost = processed_boost doc << field end - + add_dynamic_attributes(doc) add_includes(doc) add_tags(doc) add_space(doc) - + debug doc.to_json doc end private - + def debug(text) logger.debug text rescue nil end @@ -85,14 +85,14 @@ module ActsAsSolr #:nodoc: doc << Solr::Field.new(:name => "lng_f", :value => local.longitude) end end - + def add_tags(doc) taggings.each do |tagging| doc << Solr::Field.new(:name => "tag_facet", :value => tagging.tag.name) doc << Solr::Field.new(:name => "tag_t", :value => tagging.tag.name) end if configuration[:taggable] end - + def add_dynamic_attributes(doc) dynamic_attributes.each do |attribute| value = ERB::Util.html_escape(attribute.value) @@ -130,7 +130,7 @@ module ActsAsSolr #:nodoc: end end end - + def include_value(record, options) if options[:using].is_a? Proc options[:using].call(record) @@ -159,14 +159,14 @@ module ActsAsSolr #:nodoc: self.send(boost) end end - + boost_value || solr_configuration[:default_boost] end - + def condition_block?(condition) condition.respond_to?("call") && (condition.arity == 1 || condition.arity == -1) end - + def evaluate_condition(which_condition, field) condition = configuration[which_condition] case condition diff --git a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/parser_methods.rb b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/parser_methods.rb index aeac654..3514c84 100644 --- a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/parser_methods.rb +++ b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/acts_as_solr/parser_methods.rb @@ -127,7 +127,7 @@ module ActsAsSolr #:nodoc: classes = [self] + (self.subclasses || []) + (options[:models] || []) classes.map do |klass| next if klass.name.empty? - "#{solr_configuration[:type_field]}:\"#{klass.name}\"" + "#{solr_configuration[:type_field]}:\"#{Solr::Util.query_parser_escape klass.name}\"" end.compact.join(' OR ') end diff --git a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/solr/request/select.rb b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/solr/request/select.rb index 3009b48..0c40b61 100644 --- a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/solr/request/select.rb +++ b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/solr/request/select.rb @@ -12,22 +12,22 @@ # "Abstract" base class, only useful with subclasses that add parameters class Solr::Request::Select < Solr::Request::Base - + attr_reader :query_type - + def initialize(qt=nil, params={}) @query_type = qt @select_params = params end - + def response_format :ruby end - + def handler 'select' end - + def content_type 'application/x-www-form-urlencoded; charset=utf-8' end @@ -35,7 +35,7 @@ class Solr::Request::Select < Solr::Request::Base def to_hash return {:qt => query_type, :wt => 'ruby', 'json.nl' => 'arrarr'}.merge(@select_params) end - + def to_s raw_params = self.to_hash @@ -50,5 +50,5 @@ class Solr::Request::Select < Solr::Request::Base http_params.join("&") end - + end diff --git a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/tasks/solr.rake b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/tasks/solr.rake index a1deeb2..cad0d22 100644 --- a/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/tasks/solr.rake +++ b/plugins/solr/vendor/plugins/acts_as_solr_reloaded/lib/tasks/solr.rake @@ -177,7 +177,7 @@ namespace :solr do models.each do |model| if clear_first puts "Clearing index for #{model}..." - ActsAsSolr::Post.execute(Solr::Request::Delete.new(:query => "#{model.solr_configuration[:type_field]}:#{Solr::Util.query_parser_escape(model.name)}")) + ActsAsSolr::Post.execute(Solr::Request::Delete.new(:query => "#{model.solr_configuration[:type_field]}:#{model.name.gsub ':', "\\:"}")) ActsAsSolr::Post.execute(Solr::Request::Commit.new) end -- libgit2 0.21.2