solrで独自のカスタムリクエストハンドラーを作成する必要がありますが、org.apache.solr.common.SolrExceptionのようなエラーが発生します:クラス'QPRequestHandler'の読み込み中にエラーが発生しました
ここで、 QPRequestHandlerは、SOLR3.4にプラグインしたいカスタムハンドラーです。
これが私がこれまでにしたことです:
apache-solr-3.4.0 / example /solr/に新しいディレクトリlibを作成しました
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"); } }
これのJARファイルを作成し、 libディレクトリのパス
QPRequestHandler.java
に配置しました。apache-solr-3.4.0/example/solr/lib/
6 solrを再起動した後:次のようなエラーが発生しますorg.apache.solr.common.SolrException: Error loading class 'QPRequestHandler'
問題は、クラスファイルではなくJavaファイルのjarファイルを作成していること、またはパスの問題や構成エラーがあることである可能性があります。