Мне нужно написать свой собственный обработчик запросов в solr, но я получаю сообщение об ошибке типа org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'
Здесь QPRequestHandler — мой собственный обработчик, который я хочу подключить к своему SOLR 3.4.
Вот что я сделал до сих пор:
Создан новый каталог lib в 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>
The sample code of QPRequestHandler is this:
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"); } }
Я сделал JAR-файл этого
QPRequestHandler.java
и поместил его в каталог lib, путь:apache-solr-3.4.0/example/solr/lib/
6 После перезапуска solr: я получаю сообщение об ошибке типа org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'
Проблема может заключаться в том, что я создаю jar-файл из java-файла, а не файл класса, или есть какие-либо проблемы с путями или ошибка конфигурации.