我必须在solr中编写自己的自定义请求处理程序,但是我收到的错误如 org.apache.solr.common.SolrException:加载类'QPRequestHandler'时出错
这里 QPRequestHandler 是我想要插入SOLR 3.4的自定义处理程序
这是我到目前为止所做的:
在 apache-solr-3.4.0 / example / solr /
在solrconfig.xml中(路径:apache-solr-3.4.0 / example / solr / conf / solrconfig.xml)我添加了这一行<lib dir="./lib" />
在solrconfig.xml中,我添加了我的自定义处理程序:
<requestHandler name="/mytesthandler" class="QPRequestHandler">
<!-- initialization args may optionally be defined here -->
<lst name="defaults">
<str name="d1">d1 value</str>
</lst>
<lst name="invariants">
<str name="i1">i1 value</str>
</lst>
QPRequestHandler的示例代码是:
public class QPRequestHandler extends RequestHandlerBase {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
@Override
public void init(NamedList args) {
// do nothing
}
@Override
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
rsp.add("key1", "value1");
}
}
我制作了这个QPRequestHandler.java
的JAR文件并将其放在 lib 目录中,路径:apache-solr-3.4.0/example/solr/lib/
6重新启动solr后:我收到类似org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'
问题可能是我正在创建java文件的jar文件而不是类文件,或者是否存在任何路径问题或配置错误。
答案 0 :(得分:0)
您需要将类打包到jar文件中,该文件将由Solr加载 您可以通过使用solr依赖jar设置类路径来编译java文件。