在Solr 4.2.1上,我能够使用solr post,现在我已经升级到5.4,当我使用post方法时。加载类'solr.XsltUpdateRequestHandler'错误时会得到错误。
以下是完全错误:
null:org.apache.solr.common.SolrException: Error loading class 'solr.XsltUpdateRequestHandler'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:559)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:490)
Caused by: java.lang.ClassNotFoundException: solr.XsltUpdateRequestHandler
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)我在solrconfig上使用了以下内容,在solr启动过程中没有出现错误。
<requestHandler name="/update/xslt" class="solr.XsltUpdateRequestHandler" startup="lazy" />任何帮助都是非常感谢的。
谢谢
发布于 2016-02-11 17:08:47
看起来那个处理程序在4.8或者可能更早的时候就被废弃了。如果它在5.0之前完全从Solr上移除,我也不会感到惊讶,但是我在文档中没有看到任何关于它的东西。我调出了4.2.1文档,甚至是那些不推荐的注释。
您可能希望最迟将级别降至4.10,以确定是否可以使用该处理程序,然后开始一次升级一个版本,直到错误再次发生。从4.2.1跃升到5.4.1是巨大的。这些版本之间有相当多的变化。
如果您不想麻烦,我在我的5.4.1 solrconfig.xml中进行了快速搜索,发现了以下内容:
<!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds.
-->
<queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
<int name="xsltCacheLifetimeSeconds">5</int>
</queryResponseWriter>我不知道如何使用它,因为我从来没有理由使用xslt,但它似乎是一个很好的起点。
发布于 2016-02-11 23:01:28
谢谢你的回复。我能够通过使用UpdateRequestHandler找到解决方案,因为XsltUpdateRequestHandler是不推荐的。在将其更改为solr.UpdateRequestHandler之后,我能够运行solr,并且它是成功的。
<requestHandler name="/update/xslt" class="solr.UpdateRequestHandler" startup="lazy" />https://stackoverflow.com/questions/35342863
复制相似问题