我有一个单核 solr 服务器。当 solr 运行时,在一个集合中 solrconfig.xml 和 schema.xml 文件被错误地替换了。现在收集工作正常并正确响应请求,但 conf 文件夹中的有效文件被错误文件替换。如果我重新加载收藏,新的坏文件会加载并且我的收藏无法正常工作。
有没有一种方法可以在不考虑 conf 文件夹中存在的 solrconfig.xml 和 schema.xml 文件的情况下从运行集合中获取 solrconfig.xml 和 schema.xml?
我有一个单核 solr 服务器。当 solr 运行时,在一个集合中 solrconfig.xml 和 schema.xml 文件被错误地替换了。现在收集工作正常并正确响应请求,但 conf 文件夹中的有效文件被错误文件替换。如果我重新加载收藏,新的坏文件会加载并且我的收藏无法正常工作。
有没有一种方法可以在不考虑 conf 文件夹中存在的 solrconfig.xml 和 schema.xml 文件的情况下从运行集合中获取 solrconfig.xml 和 schema.xml?
您可以通过Solr 架构 API和Solr 配置 API读取当前运行的架构和配置。
请注意:此 API 的结果不是原始文件schema.xml
或solrconfig.xml
文件,而是您可以从中重建原始文件。
同样,还要注意 Solr 配置 API 仅在最新版本的 Solr 中可用。
在旧版本(我已经测试过 4.8.1 版)中,没有用于 solr 配置的 API,因此无法完全重建solrconfig.xml
文件。
您可以使用Solr 管理用户界面检索加载的配置文件:
http://<hostname>:<port>/solr
。或者你可以直接去http://<hostname>/solr/#/<corename>/files?file=<filename>
见https://cwiki.apache.org/confluence/display/solr/Files+Screen
4.x 之前的 Solr 版本显示的界面略有不同,如果我没记错的话,没有核心下拉菜单,solrconfig.xml 和 schema.xml 出现在左侧窗格中。
在 SolrCloud 上有一个额外的下拉列表,显示给定集群中的所有集合,但您明白了。
注意:Solr Admin UI 向您显示已解析的文件,因此如果您必须转义特殊字符,例如在使用 a 的过滤器的正则表达式中,您必须在取回文件后<
重新转义它以防止解析<
错误。