【问题标题】:Solr cloud - reloading elevate.xmlSolr 云 - 重新加载 elevate.xml
【发布时间】:2017-03-31 06:22:42
【问题描述】:

我正在使用带有查询提升组件(/提升端点)的 Apache Solr 6.5 来支持在我的查询中提升特定文档。

我在

中使用 elevate.xml 文件
<instanceDir>/conf/<config-file> 

目录。然而,在生产服务器上(Solr 配置为具有 zookepper 以维护配置的云)elevate.xml 中的更改不会加载。为了检查它是否有效,我只查询提升的短语,结果我从以前版本的 elevate.xml 中获得提升的文档。

当然,我会在加载新版本的 elevate.xml 后重新启动所有 Solr 云实例,并且更新的文件在 Solr 的管理 UI 文件部分(当然是特定核心)中可见。

我用来测试结果的查询,以证明我没有使用标准/查询组件:

/elevate?df=name&fl=id,name,[elevated]&indent=on&q=heart&wt=json

我应该怎么做才能真正告诉 Solr 新的 elevate.xml 已加载?在 solr 服务重新启动后,这在我的 Solr 开发独立配置(不是 cloud one)上运行良好,文档由更新的 elevate.xml 文件提升。

【问题讨论】:

    标签: solr solrcloud


    【解决方案1】:

    你应该这样做:

    1. 按照here 的说明将 elevate.xml 文件上传到 zookeeper
    2. 使用 RELOAD 集合 api 重新加载集合,无需重启 Solr

    【讨论】:

      【解决方案2】:

      好吧,我想我明白了。问题在于 Solr 预期 elevate.xml 文件所在的目录。

      文档说明(至于 6.5.0 版本)

      config-file
      
      
      Path to the file that defines query elevation. 
      This file must exist in     <instanceDir>/conf/<config-file> or <dataDir>/<config-file>.
      

      在我的开发配置中,这两种情况都是正确的(文件是从 conf 或数据目录中读取的)。但是在生产环境中(在具有外部 ZooKeeper 的云环境中),该文件是从核心(又名集合)的根目录中读取的,其中也存在 solrconfig.xml 和 schema.xml。

      可能它有一些解释,它只是数据目录本身,但由于我不知道如何检查 instanceDir 和 dataDir 变量的值,所以文档对我有误导。

      我希望它可以帮助其他 Solr 专家。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-28
        • 2012-07-17
        • 2012-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多