acts_as_solr_reloaded 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/acts_as_solr/parser_methods.rb +1 -0
- data/lib/acts_as_solr/search_results.rb +4 -0
- data/lib/solr/request/standard.rb +4 -1
- data/lib/{acts_as_solr/tasks → tasks}/database.rake +0 -0
- data/lib/{acts_as_solr/tasks → tasks}/solr.rake +7 -5
- data/lib/{acts_as_solr/tasks → tasks}/test.rake +0 -0
- data/test/db/test.db +0 -0
- data/test/functional/acts_as_solr_test.rb +4 -0
- data/test/unit/parser_methods_shoulda.rb +14 -1
- metadata +5 -5
    
        data/Rakefile
    CHANGED
    
    | @@ -3,7 +3,7 @@ require 'rake' | |
| 3 3 | 
             
            require 'rake/testtask'
         | 
| 4 4 | 
             
            require 'rake/rdoctask'
         | 
| 5 5 |  | 
| 6 | 
            -
            Dir["#{File.dirname(__FILE__)}/lib/ | 
| 6 | 
            +
            Dir["#{File.dirname(__FILE__)}/lib/tasks/*.rake"].sort.each { |ext| load ext }
         | 
| 7 7 |  | 
| 8 8 | 
             
            desc "Default Task"
         | 
| 9 9 | 
             
            task :default => [:test]
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.4.0
         | 
| @@ -119,6 +119,7 @@ module ActsAsSolr #:nodoc: | |
| 119 119 | 
             
                  configuration = {
         | 
| 120 120 | 
             
                    :format => :objects
         | 
| 121 121 | 
             
                  }
         | 
| 122 | 
            +
                  results.update(:spellcheck => solr_data.data['spellcheck']) unless solr_data.nil?
         | 
| 122 123 | 
             
                  results.update(:facets => {'facet_fields' => []}) if options[:facets]
         | 
| 123 124 | 
             
                  return SearchResults.new(results) if (solr_data.nil? || solr_data.total_hits == 0)
         | 
| 124 125 |  | 
| @@ -14,7 +14,7 @@ class Solr::Request::Standard < Solr::Request::Select | |
| 14 14 |  | 
| 15 15 | 
             
              VALID_PARAMS = [:query, :sort, :default_field, :operator, :start, :rows, :shards, :date_facets,
         | 
| 16 16 | 
             
                :filter_queries, :field_list, :debug_query, :explain_other, :facets, :highlighting, :mlt, :radius, 
         | 
| 17 | 
            -
                :latitude, :longitude]
         | 
| 17 | 
            +
                :latitude, :longitude, :spellcheck]
         | 
| 18 18 |  | 
| 19 19 | 
             
              def initialize(params)
         | 
| 20 20 | 
             
                super(params[:radius].nil? ? 'standard' : 'geo')
         | 
| @@ -400,6 +400,9 @@ class Solr::Request::Standard < Solr::Request::Select | |
| 400 400 | 
             
                  hash["mlt.boost"] = @params[:mlt][:boost]
         | 
| 401 401 | 
             
                end
         | 
| 402 402 |  | 
| 403 | 
            +
                hash[:spellcheck] = true
         | 
| 404 | 
            +
                hash['spellcheck.collate'] = true
         | 
| 405 | 
            +
                
         | 
| 403 406 | 
             
                hash.merge(super.to_hash)
         | 
| 404 407 | 
             
              end
         | 
| 405 408 |  | 
| 
            File without changes
         | 
| @@ -2,7 +2,7 @@ namespace :solr do | |
| 2 2 |  | 
| 3 3 | 
             
              desc 'Starts Solr. Options accepted: RAILS_ENV=your_env, PORT=XX. Defaults to development if none.'
         | 
| 4 4 | 
             
              task :start => :environment do
         | 
| 5 | 
            -
                require File.expand_path("#{File.dirname(__FILE__)} | 
| 5 | 
            +
                require File.expand_path("#{File.dirname(__FILE__)}/../../config/solr_environment")
         | 
| 6 6 | 
             
                FileUtils.mkdir_p(SOLR_LOGS_PATH)
         | 
| 7 7 | 
             
                FileUtils.mkdir_p(SOLR_DATA_PATH)
         | 
| 8 8 | 
             
                FileUtils.mkdir_p(SOLR_PIDS_PATH)
         | 
| @@ -13,7 +13,9 @@ namespace :solr do | |
| 13 13 | 
             
                rescue Net::HTTPServerException #responding
         | 
| 14 14 | 
             
                  puts "Port #{SOLR_PORT} in use" and return
         | 
| 15 15 |  | 
| 16 | 
            -
                rescue Errno::ECONNREFUSED, Errno::EBADF #not responding
         | 
| 16 | 
            +
                rescue Errno::ECONNREFUSED, Errno::EBADF, NoMethodError #not responding
         | 
| 17 | 
            +
                  # there's an issue with Net::HTTP.request where @socket is nil and raises a NoMethodError
         | 
| 18 | 
            +
                  # http://redmine.ruby-lang.org/issues/show/2708
         | 
| 17 19 | 
             
                  Dir.chdir(SOLR_PATH) do
         | 
| 18 20 | 
             
                    cmd = "java #{SOLR_JVM_OPTIONS} -Djetty.logs=\"#{SOLR_LOGS_PATH}\" -Dsolr.solr.home=\"#{SOLR_CONFIG_PATH}\" -Dsolr.data.dir=\"#{SOLR_DATA_PATH}\" -Djetty.port=#{SOLR_PORT} -jar start.jar"
         | 
| 19 21 | 
             
                    puts "Executing: " + cmd
         | 
| @@ -35,7 +37,7 @@ namespace :solr do | |
| 35 37 |  | 
| 36 38 | 
             
              desc 'Stops Solr. Specify the environment by using: RAILS_ENV=your_env. Defaults to development if none.'
         | 
| 37 39 | 
             
              task :stop=> :environment do
         | 
| 38 | 
            -
                require File.expand_path("#{File.dirname(__FILE__)} | 
| 40 | 
            +
                require File.expand_path("#{File.dirname(__FILE__)}/../../config/solr_environment")
         | 
| 39 41 | 
             
                fork do
         | 
| 40 42 | 
             
                  file_path = "#{SOLR_PIDS_PATH}/#{ENV['RAILS_ENV']}_pid"
         | 
| 41 43 | 
             
                  if File.exists?(file_path)
         | 
| @@ -54,7 +56,7 @@ namespace :solr do | |
| 54 56 |  | 
| 55 57 | 
             
              desc 'Remove Solr index'
         | 
| 56 58 | 
             
              task :destroy_index => :environment do
         | 
| 57 | 
            -
                require File.expand_path("#{File.dirname(__FILE__)} | 
| 59 | 
            +
                require File.expand_path("#{File.dirname(__FILE__)}/../../config/solr_environment")
         | 
| 58 60 | 
             
                raise "In production mode.  I'm not going to delete the index, sorry." if ENV['RAILS_ENV'] == "production"
         | 
| 59 61 | 
             
                if File.exists?("#{SOLR_DATA_PATH}")
         | 
| 60 62 | 
             
                  Dir["#{SOLR_DATA_PATH}/index/*"].each{|f| File.unlink(f) if File.exists?(f)}
         | 
| @@ -67,7 +69,7 @@ namespace :solr do | |
| 67 69 | 
             
              # http://henrik.nyh.se/2007/06/rake-task-to-reindex-models-for-acts_as_solr
         | 
| 68 70 | 
             
              desc %{Reindexes data for all acts_as_solr models. Clears index first to get rid of orphaned records and optimizes index afterwards. RAILS_ENV=your_env to set environment. ONLY=book,person,magazine to only reindex those models; EXCEPT=book,magazine to exclude those models. START_SERVER=true to solr:start before and solr:stop after. BATCH=123 to post/commit in batches of that size: default is 300. CLEAR=false to not clear the index first; OPTIMIZE=false to not optimize the index afterwards.}
         | 
| 69 71 | 
             
              task :reindex => :environment do
         | 
| 70 | 
            -
                require File.expand_path("#{File.dirname(__FILE__)} | 
| 72 | 
            +
                require File.expand_path("#{File.dirname(__FILE__)}/../../config/solr_environment")
         | 
| 71 73 |  | 
| 72 74 | 
             
                includes = env_array_to_constants('ONLY')
         | 
| 73 75 | 
             
                if includes.empty?
         | 
| 
            File without changes
         | 
    
        data/test/db/test.db
    CHANGED
    
    | Binary file | 
| @@ -461,6 +461,10 @@ class ActsAsSolrTest < Test::Unit::TestCase | |
| 461 461 | 
             
                expected = {"name"=>["<em>Ruby</em> for Dummies"]}
         | 
| 462 462 | 
             
                assert_equal expected, records.highlights.values.first
         | 
| 463 463 | 
             
              end
         | 
| 464 | 
            +
              
         | 
| 465 | 
            +
              def test_spellcheck
         | 
| 466 | 
            +
                assert_equal "ruby for dummies", Book.search("rubi for dumies").suggest
         | 
| 467 | 
            +
              end
         | 
| 464 468 |  | 
| 465 469 | 
             
              def test_mongo_mappers_documents_are_found
         | 
| 466 470 | 
             
                Document.new(:name => "mapper").save
         | 
| @@ -242,7 +242,20 @@ class ParserMethodsTest < Test::Unit::TestCase | |
| 242 242 | 
             
                  }
         | 
| 243 243 | 
             
                    @parser.parse_query "foo", :operator => :or
         | 
| 244 244 | 
             
                  end
         | 
| 245 | 
            -
             | 
| 245 | 
            +
                  
         | 
| 246 | 
            +
                  should "activate spellcheck" do
         | 
| 247 | 
            +
                    ActsAsSolr::Post.expects(:execute).with {|request, core|
         | 
| 248 | 
            +
                      request.to_hash[:spellcheck] == true
         | 
| 249 | 
            +
                    }
         | 
| 250 | 
            +
                    @parser.parse_query "foo"
         | 
| 251 | 
            +
                  end
         | 
| 252 | 
            +
                  
         | 
| 253 | 
            +
                  should "activate spellcheck collation" do
         | 
| 254 | 
            +
                    ActsAsSolr::Post.expects(:execute).with {|request, core|
         | 
| 255 | 
            +
                      request.to_hash['spellcheck.collate'] == true
         | 
| 256 | 
            +
                    }
         | 
| 257 | 
            +
                    @parser.parse_query "foo"
         | 
| 258 | 
            +
                  end
         | 
| 246 259 |  | 
| 247 260 | 
             
                  context "with the around option" do
         | 
| 248 261 | 
             
                    should "set the qt as geo" do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: acts_as_solr_reloaded
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Diego Carrion
         | 
| @@ -9,7 +9,7 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date: 2010- | 
| 12 | 
            +
            date: 2010-02-25 00:00:00 -03:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies: []
         | 
| 15 15 |  | 
| @@ -50,9 +50,6 @@ files: | |
| 50 50 | 
             
            - lib/acts_as_solr/search_results.rb
         | 
| 51 51 | 
             
            - lib/acts_as_solr/solr_fixtures.rb
         | 
| 52 52 | 
             
            - lib/acts_as_solr/tasks.rb
         | 
| 53 | 
            -
            - lib/acts_as_solr/tasks/database.rake
         | 
| 54 | 
            -
            - lib/acts_as_solr/tasks/solr.rake
         | 
| 55 | 
            -
            - lib/acts_as_solr/tasks/test.rake
         | 
| 56 53 | 
             
            - lib/acts_as_solr_reloaded.rb
         | 
| 57 54 | 
             
            - lib/solr.rb
         | 
| 58 55 | 
             
            - lib/solr/connection.rb
         | 
| @@ -99,6 +96,9 @@ files: | |
| 99 96 | 
             
            - lib/solr/solrtasks.rb
         | 
| 100 97 | 
             
            - lib/solr/util.rb
         | 
| 101 98 | 
             
            - lib/solr/xml.rb
         | 
| 99 | 
            +
            - lib/tasks/database.rake
         | 
| 100 | 
            +
            - lib/tasks/solr.rake
         | 
| 101 | 
            +
            - lib/tasks/test.rake
         | 
| 102 102 | 
             
            - test/config/solr.yml
         | 
| 103 103 | 
             
            - test/db/connections/mysql/connection.rb
         | 
| 104 104 | 
             
            - test/db/connections/sqlite/connection.rb
         |