Class: Sunspot::Rails::Configuration
- Inherits:
-
Object
- Object
- Sunspot::Rails::Configuration
- 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
master_solr:
hostname: localhost
port: 8982
path: /solr
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.
If the master_solr
configuration is present, Sunspot will use the Solr instance specified here for all write operations, and the Solr configured under solr
for all read operations.
Instance Attribute Summary collapse
-
#user_configuration ⇒ Object
writeonly
Sets the attribute user_configuration.
Instance Method Summary collapse
-
#auto_commit_after_delete_request? ⇒ Boolean
As for #auto_commit_after_request? but only for deletes Default false.
-
#auto_commit_after_request? ⇒ Boolean
Should the solr index receive a commit after each http-request.
- #data_path ⇒ Object
-
#has_master? ⇒ Boolean
True if there is a master Solr instance configured, otherwise false.
-
#hostname ⇒ Object
The host name at which to connect to Solr.
-
#log_file ⇒ Object
The log directory for solr logfiles.
-
#log_level ⇒ Object
The default log_level that should be passed to solr.
-
#master_hostname ⇒ Object
The host name at which to connect to the master Solr instance.
-
#master_path ⇒ Object
The path to the master Solr servlet (useful if you are running multicore).
-
#master_port ⇒ Object
The port at which to connect to the master Solr instance.
-
#path ⇒ Object
The url path to the Solr servlet (useful if you are running multicore).
- #pid_path ⇒ Object
-
#port ⇒ Object
The port at which to connect to Solr.
-
#solr_home ⇒ Object
The solr home directory.
Instance Attribute Details
#user_configuration=(value) ⇒ Object
Sets the attribute user_configuration
39 40 41 |
# File 'lib/sunspot/rails/configuration.rb', line 39 def user_configuration=(value) @user_configuration = value end |
Instance Method Details
#auto_commit_after_delete_request? ⇒ Boolean
As for #auto_commit_after_request? but only for deletes Default false
Returns
Boolean: auto_commit_after_delete_request?
155 156 157 158 |
# File 'lib/sunspot/rails/configuration.rb', line 155 def auto_commit_after_delete_request? @auto_commit_after_delete_request ||= (user_configuration_from_key('auto_commit_after_delete_request') || false) end |
#auto_commit_after_request? ⇒ Boolean
Should the solr index receive a commit after each http-request. Default true
Returns
Boolean: auto_commit_after_request?
142 143 144 145 |
# File 'lib/sunspot/rails/configuration.rb', line 142 def auto_commit_after_request? @auto_commit_after_request ||= user_configuration_from_key('auto_commit_after_request') != false end |
#data_path ⇒ Object
172 173 174 |
# File 'lib/sunspot/rails/configuration.rb', line 172 def data_path @data_path ||= user_configuration_from_key('solr', 'data_path') || File.join(::Rails.root, 'solr', 'data', ::Rails.env) end |
#has_master? ⇒ Boolean
True if there is a master Solr instance configured, otherwise false.
Returns
- Boolean
-
bool
117 118 119 |
# File 'lib/sunspot/rails/configuration.rb', line 117 def has_master? @has_master = !!user_configuration_from_key('master_solr') end |
#hostname ⇒ Object
The host name at which to connect to Solr. Default ‘localhost’.
Returns
- String
-
host name
47 48 49 |
# File 'lib/sunspot/rails/configuration.rb', line 47 def hostname @hostname ||= (user_configuration_from_key('solr', 'hostname') || 'localhost') end |
#log_file ⇒ Object
The log directory for solr logfiles
Returns
- String
-
log_dir
168 169 170 |
# File 'lib/sunspot/rails/configuration.rb', line 168 def log_file @log_file ||= (user_configuration_from_key('solr', 'log_file') || default_log_file_location ) end |
#log_level ⇒ Object
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
130 131 132 |
# File 'lib/sunspot/rails/configuration.rb', line 130 def log_level @log_level ||= (user_configuration_from_key('solr', 'log_level') || 'INFO') end |
#master_hostname ⇒ Object
The host name at which to connect to the master Solr instance. Defaults to the ‘hostname’ configuration option.
Returns
- String
-
host name
82 83 84 |
# File 'lib/sunspot/rails/configuration.rb', line 82 def master_hostname @master_hostname ||= (user_configuration_from_key('solr', 'master_hostname') || hostname) end |
#master_path ⇒ Object
The path to the master Solr servlet (useful if you are running multicore). Defaults to the value of the ‘path’ configuration option.
Returns
- String
-
path
106 107 108 |
# File 'lib/sunspot/rails/configuration.rb', line 106 def master_path @master_path ||= (user_configuration_from_key('solr', 'master_path') || path) end |
#master_port ⇒ Object
The port at which to connect to the master Solr instance. Defaults to the ‘port’ configuration option.
Returns
- Integer
-
port
94 95 96 |
# File 'lib/sunspot/rails/configuration.rb', line 94 def master_port @master_port ||= (user_configuration_from_key('solr', 'master_port') || port).to_i end |
#path ⇒ Object
The url path to the Solr servlet (useful if you are running multicore). Default ‘/solr’.
Returns
- String
-
path
70 71 72 |
# File 'lib/sunspot/rails/configuration.rb', line 70 def path @path ||= (user_configuration_from_key('solr', 'path') || '/solr') end |
#pid_path ⇒ Object
176 177 178 |
# File 'lib/sunspot/rails/configuration.rb', line 176 def pid_path @pids_path ||= user_configuration_from_key('solr', 'pid_path') || File.join(::Rails.root, 'solr', 'pids', ::Rails.env) end |
#port ⇒ Object
The port at which to connect to Solr. Default 8983.
Returns
- Integer
-
port
58 59 60 |
# File 'lib/sunspot/rails/configuration.rb', line 58 def port @port ||= (user_configuration_from_key('solr', 'port') || 8983).to_i end |
#solr_home ⇒ Object
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
189 190 191 192 193 194 195 196 |
# File 'lib/sunspot/rails/configuration.rb', line 189 def solr_home @solr_home ||= if user_configuration_from_key('solr', 'solr_home') user_configuration_from_key('solr', 'solr_home') else File.join(::Rails.root, 'solr') end end |