Class: Sunspot::Rails::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/sunspot/rails/configuration.rb

Overview

Sunspot::Rails is configured via the config/sunspot.yml file, which contains properties keyed by environment name. A sample sunspot.yml file would look like:

development:
  solr:
    hostname: localhost
    port: 8982
test:
  solr:
    hostname: localhost
    port: 8983
    log_level: OFF
production:
  solr:
    hostname: localhost
    port: 8983
    path: /solr/myindex
    log_level: WARNING
    solr_home: /some/path
  auto_commit_after_request: true

Sunspot::Rails uses the configuration to set up the Solr connection, as well as for starting Solr with the appropriate port using the rake sunspot:solr:start task.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#user_configuration=(value) ⇒ Object

Sets the attribute user_configuration

Parameters:

  • value

    the value to set the attribute user_configuration to.



31
32
33
# File 'lib/sunspot/rails/configuration.rb', line 31

def user_configuration=(value)
  @user_configuration = value
end

Instance Method Details

#auto_commit_after_request?Boolean

Should the solr index receive a commit after each http-request. Default true

Returns

Boolean

bool

Returns:

  • (Boolean)


111
112
113
114
# File 'lib/sunspot/rails/configuration.rb', line 111

def auto_commit_after_request?
  @auto_commit_after_request ||= 
    user_configuration_from_key('auto_commit_after_request') != false
end

#hostnameObject

The host name at which to connect to Solr. Default ‘localhost’.

Returns

String

host name



39
40
41
# File 'lib/sunspot/rails/configuration.rb', line 39

def hostname
  @hostname ||= (user_configuration_from_key('solr', 'hostname') || 'localhost')
end

#log_fileObject

The log directory for solr logfiles

Returns

String

log_dir



86
87
88
# File 'lib/sunspot/rails/configuration.rb', line 86

def log_file
  @log_file ||= (user_configuration_from_key('solr', 'log_file') || default_log_file_location )
end

#log_levelObject

The default log_level that should be passed to solr. You can change the individual log_levels in the solr admin interface. Default ‘INFO’.

Returns

String

log_level



75
76
77
# File 'lib/sunspot/rails/configuration.rb', line 75

def log_level
  @log_level ||= (user_configuration_from_key('solr', 'log_level') || 'INFO')
end

#pathObject

The url path to the Solr servlet (useful if you are running multicore). Default ‘/solr’.

Returns

String

path



62
63
64
# File 'lib/sunspot/rails/configuration.rb', line 62

def path
  @path ||= (user_configuration_from_key('solr', 'path') || '/solr')
end

#portObject

The port at which to connect to Solr. Default 8983.

Returns

Integer

port



50
51
52
# File 'lib/sunspot/rails/configuration.rb', line 50

def port
  @port ||= (user_configuration_from_key('solr', 'port') || 8983).to_i
end

#solr_homeObject

The solr home directory. Sunspot::Rails expects this directory to contain a config, data and pids directory. See Sunspot::Rails::Server.bootstrap for more information.

Returns

String

solr_home



99
100
101
# File 'lib/sunspot/rails/configuration.rb', line 99

def solr_home
  @solr_home ||= (user_configuration_from_key('solr', 'solr_home') || File.join( ::Rails.root, 'solr' ))
end