Исключение класса не найдено при добавлении пользовательского обработчика запросов в solr

Мне нужно написать свой собственный обработчик запросов в solr, но я получаю сообщение об ошибке типа org.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'

Здесь QPRequestHandler — мой собственный обработчик, который я хочу подключить к своему SOLR 3.4.

Вот что я сделал до сих пор:

  1. Создан новый каталог lib в apache-solr-3.4.0/example/solr/.

  2. В solrconfig.xml(путь: apache-solr-3.4.0/example/solr/conf/solrconfig.xml) я добавил эту строку <lib dir="./lib" />

  3. В 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>
    

  4. 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");
     }
    }
    
  5. Я сделал 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-файла, а не файл класса, или есть какие-либо проблемы с путями или ошибка конфигурации.


person Elvis    schedule 01.11.2011    source источник


Ответы (1)


Вам нужно будет упаковать класс в jar-файл, который будет загружен Solr.
Вы можете скомпилировать java-файл, задав classpath с зависимыми от solr jar-файлами.

person Jayendra    schedule 01.11.2011
comment
Эй, большое спасибо за помощь, не могли бы вы также сказать мне, какие jar-файлы solr я должен добавить в свой путь к классам, чтобы я мог скомпилировать автономный обработчик запросов. - person Elvis; 01.11.2011