如何设置与solr_home不同的太阳黑子solr data_path?

时间:2013-09-26 15:59:11

标签: ruby-on-rails sunspot-rails

我试过了:

#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

参考:

4 个答案:

答案 0 :(得分:1)

在sunspot_solr 2.2.7和Rails 4 +中,

相应的选项是

  1. 路径
  2. solr_home
  3. 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