2017-08-04 3 views
0

SOLRで使用する検索コンポーネントを作成しました。私はそれをデバッグしたい。私はEclipseのリモートデバッグ機能を使ってSOLR自体をデバッグしようとしましたが、プラグインでは機能せず、ソースが見つかりません。Solrプラグインをデバッグするには?

次に、私のプラグインプロジェクトをソースプロジェクトとして含めようとしましたが、どちらもうまくいきませんでした。デバッガは、プラグインのブレークポイントで停止しません。

この点に関するお手伝いをさせていただきます。

+0

デバッグ情報を含むプラグインのビルドでのSolrインスタンスを実行しましたか? eclipse内のリモートデバッグ起動設定のクラスパスに手動でソースをアタッチしてみましたか? – SpaceTrucker

+0

私はこれに新しいです。あなたはそれをどうやって行うのか詳しく教えていただけますか? – wasimbhalli

答えて

0

埋め込みソルを使用して、EclipseプロジェクトでJunitテストを作成できます。これにより、デバッグが容易になります。必要なのは、solr-core(solrconfig.xml、schema.xmlなど)の設定ファイルを作成して、テストリソースディレクトリにsolrインストールのsolrコアディレクトリをコピーし、そのディレクトリへのCoreContainerこのコアコンテナは、構成されたソルバーコアとサーチャーを取得するために使用できます。 JUnitとSolr-coreは必要な依存関係です。以下は

テスト・コードの例です:

/** 
* This is a starting point for testing the component with embedded solr! 
*/ 
public class SearchComponentTest 
{ 
    private static CoreContainer container; 
    private static SolrCore core; 

    private static final Logger logger = LoggerFactory.getLogger(DataImportRequestHandlerTest.class.getName()); 

    /* 
    * PREPARE AND TEAR DOWN FOR TESTS 
    */ 
    @BeforeClass 
    public static void prepareClass() throws Exception 
    { 
     // create the coreContainer from conf dir in test resources 
     container = new CoreContainer(
      DataImportRequestHandlerTest.class.getResource("/solrDir").getPath().substring(1)); 
     container.load(); 
     core = container.getCore("CORENAME"); 
     logger.info("Solr core loaded!"); 
    } 

    @AfterClass 
    public static void cleanUpClass() 
    { 
     core.close(); 
     container.shutdown(); 
     logger.info("Solr core shut down!"); 
    } 

    /* TESTS TO RUN */ 

    /** 
    * Test the search component here or just trigger it to debug 
    */ 
    @Test 
    public void testSearchComponent() 
    { 
     /* PREPARE */ 
     SearchComponent mySearchComp = core.getSearchComponent("componentNameFromSolrConf"); 

     /* RUN */ 
     // do something with your search component 

     /* CHECK */ 
     // check results with asserts :) 
    } 
} 
関連する問題