Wrap any task with a Solr instance:
SolrWrapper.wrap do |solr|
# Something that requires Solr
end
Or with Solr and a solr collection:
SolrWrapper.wrap do |solr|
solr.with_collection(dir: File.join(FIXTURES_DIR, "basic_configs")) do |collection_name|
end
end
SolrWrapper.wrap port: 8983,
verbose: true,
managed: true,
instance_dir: '/opt/solr'
Option | |
---|---|
instance_dir | Directory to store the solr index files |
url | URL of the Zip file to download |
version | Solr version to download and install |
port | port to run Solr on |
version_file | Local path to store the currently installed version |
download_dir | Local path for storing the downloaded Solr zip file |
solr_zip_path | Local path to the Solr zip file |
md5sum | Path/URL to MD5 checksum |
solr_xml | Path to Solr configuration |
verbose | (Boolean) |
managed | (Boolean) |
ignore_md5sum | (Boolean) |
solr_options | (Hash) |
env | (Hash) |
persist | (Boolean) Preserves the data in you collection between startups |
solr.with_collection(name: 'collection_name', dir: 'path_to_solr_configs')
$ solr_wrapper -p 8983
To see a list of valid options when using solr_wrapper to launch a Solr instance from the command line:
$ solr_wrapper -h
SolrWrapper can read configuration options from a YAML configuration file.
By default, it looks for configuration files at .solr_wrapper
and ~/.solr_wrapper
.
You can also specify a configuration file when launching from the command line as follows:
$ solr_wrapper -config <path_to_config_file>
By defualt SorlWrapper will clean out your data when it shuts down. If you utilize the preserve option your data will remain between runs.
To clean out data that is being preserved explicitly run:
$ solr_wrapper <configuration options> clean
Note You must use the same configuration options on the clean command as you do on the run command to clean the correct instance.
SolrWrapper provides rake tasks for installing, starting and stopping solr. To include the tasks in your Rake environment, add this to your Rakefile
require 'solr_wrapper/rake_task'
You can configure the tasks by setting SolrWrapper.default_instance_options
. For example:
SolrWrapper.default_instance_options = {
verbose: true,
cloud: true,
port: '8888',
version: '5.3.1',
instance_dir: 'solr',
download_dir: 'tmp'
}
require 'solr_wrapper/rake_task'