我试过了:
#sunspot.yml
development:
solr:
hostname: localhost
port: 8982
data_path: /solr_index
auto_commit_after_request: false
我的solr_home位于/ project / testapp / solr。我手动创建了/ solr_index目录。每当我启动我的solr服务器时,它都会创建一个"数据" dir在/ project / testapp / solr下,而不是使用我的sunspot.yml中指定的data_path
参考:
答案 0 :(得分:1)
在sunspot_solr 2.2.7和Rails 4 +中,
相应的选项是
path:是solr服务器请求的url。
solr_home:在这里你可以自定义solr来创建索引数据文件,而不是默认的solr目录(Rails.root / solr)
样本sunspot.yml文件
production:
solr:
hostname: localhost
port: 8983
log_level: WARNING
solr_home: /your/custom/path/ # /Users/abhi/solr_files
path: /solr/production
答案 1 :(得分:0)
我没有在这些配置引用中看到data_path作为选项。我只在代码中看到一个名为data_path的方法。配置示例中只有path和solr_home作为选项。您是否尝试将索引数据的位置与solr配置分开?
答案 2 :(得分:0)
我最终将我的solr“data”目录移动到某个自定义路径,然后创建指向自定义路径的符号链接solr / data:
mv /path/to/solr/data /my/custom/solr/data/path
ln -s /my/custom/solr/data/path /path/to/solr/data
答案 3 :(得分:0)
您的符号链接解决方案是最好的。在部署期间,可能应该由Capistrano完成。
但是,您可以为sunspot / solr指定自定义数据目录:
检查您的RAILS_ROOT/solr/conf/solrconfig.xml
应该有类似的内容:
<dataDir>${solr.data.dir:./solr/data}</dataDir>
您应该可以更改它:)或删除/注释以使用您的__current_solr_core_home_dir__/data
。