我正在使用Apache Solr 6.5和Query Elevation Component(/ elevate endpoint)来支持查询中特定文档的提升。
我在
中使用了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(非云端)工作正常,文档由更新的elevate.xml文件提升。
答案 0 :(得分:1)
你应该这样做:
答案 1 :(得分:1)
好的,我想我明白了。问题在于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或data目录中读取的)。但是在生产时(在具有外部zooKeepers的云环境中),文件是从核心(也称为集合)的根目录读取的,其中还存在solrconfig.xml和schema.xml。
可能它有一些解释,它只是数据目录本身,但由于我不知道如何检查instanceDir和dataDir变量的值是什么,文档对我来说是误导。
我希望它有助于其他Solr专家。