2

我努力了:

#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 服务器时,它都会在 /project/testapp/solr 下创建一个“数据”目录,而不是使用我的 sunspot.yml 中指定的 data_path

参考:

4

4 回答 4

1

您的符号链接解决方案是最好的。可能应该由 Capistrano 在部署期间完成。

但是,您可以为 sunspot / solr 指定自定义数据目录:

检查你RAILS_ROOT/solr/conf/solrconfig.xml应该有类似的东西:

  <dataDir>${solr.data.dir:./solr/data}</dataDir>

您应该可以更改它:) 或删除/注释掉以使用您的__current_solr_core_home_dir__/data.

于 2014-01-23T09:45:47.113 回答
1

在 sunspot_solr 2.2.7 和 Rails 4 + 中,

相应的选项是

  1. 小路
  2. solr_home

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
于 2017-07-24T05:32:25.317 回答
0

我最终将我的 solr“数据”目录移动到某个自定义路径,然后创建一个指向自定义路径的符号链接 solr/data:

mv /path/to/solr/data /my/custom/solr/data/path
ln -s /my/custom/solr/data/path /path/to/solr/data
于 2013-09-26T18:40:45.640 回答
0

在这些配置参考中,我没有将 data_path 视为一个选项。我只在代码中看到了一个名为 data_path 的方法。配置示例中只有 path 和 solr_home 作为选项。您是否尝试将索引数据的位置与 solr 配置分开?

于 2013-09-26T16:16:15.983 回答