2013-02-19 56 views
0

我試圖用mongo作爲solr一個數據源,所以我跟着James他諦在我Solr的應用程序中使用它,我已在我的lib文件夾下面無法加載EntityProcessor實施

  1. Solr的-dataimporthandler-1.4.1
  2. 的Solr - 蒙戈 - 進口商 - 1.0.0
  3. nlog4j-1.2.17 //因爲它要求的LoggerFactory類
  4. 蒙戈-2.10.1

,並在我的數據-config文件只需以下內容:

<?xml version="1.0"?> 
<dataConfig> 
    <dataSource name="MyMongo" type="MongoDataSource" database="tracker" /> 
    <document name="hits"> 
     <entity processor="MongoEntityProcessor" 
       query="{}" 
       collection="hits" 
       datasource="MyMongo" 
       transformer="MongoMapperTransformer" > 
      <field column="_id"   name="_id"  mongoField="_id"/> 
     </entity> 
    </document> 
</dataConfig> 

,並當過我試着讓全進口,異常被拋出類似如下:

SEVERE: Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to load EntityProcessor implementation for entity:19099085523711 Processing Document # 1 
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:264) 
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:375) 
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:445) 
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:426) 
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to load EntityProcessor implementation for entity:19099085523711 Processing Document # 1 
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:621) 
    at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:327) 
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:225) 
    ... 3 more 

Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to load EntityProcessor implementation for entity:19099085523711 Processing Document # 1 
    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72) 
    at org.apache.solr.handler.dataimport.DocBuilder.getEntityProcessor(DocBuilder.java:915) 
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:635) 
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:619) 
    ... 5 more 
Caused by: java.lang.ClassCastException: org.apache.solr.handler.dataimport.MongoEntityProcessor cannot be cast to org.apache.solr.handler.dataimport.EntityProcessor 
    at org.apache.solr.handler.dataimport.DocBuilder.getEntityProcessor(DocBuilder.java:912) 
    ... 7 more 

誰能告訴我什麼我搞砸和如何解決這個問題?

回答

3

問題的核心是:

產生的原因:java.lang.ClassCastException: org.apache.solr.handler.dataimport.MongoEntityProcessor不能轉換 到org.apache.solr.handler .dataimport.EntityProcessor

我懷疑你沒有像他那樣使用相同版本的Solr。基於罐子,你似乎在使用Solr 1.4.1。根據GitHub的時間戳,整合項目已有6個月的歷史,可能會使用更新的Solr(3.6或更少的可能性 - 4+)。

除非你的Solr是行之有效的制度,我想下載的Solr 4,然後再試一次,使用DIH罐附帶的安裝

+0

非常感謝主席先生,尼斯趕上! – Hilmi 2013-02-20 09:42:41