我正在尝试使用mongo
作为solr
的数据源,所以我跟随James让他的DIH在我的solr应用程序中使用它,我添加了以下内容我的lib
文件夹
在我的data-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
任何人都可以告诉我我在弄什么,以及如何解决这个问题?
答案 0 :(得分:3)
问题的核心是:
引起:java.lang.ClassCastException: org.apache.solr.handler.dataimport.MongoEntityProcessor无法强制转换 to org.apache.solr.handler.dataimport.EntityProcessor
我怀疑你没有和他一样使用相同版本的Solr。基于罐子,您似乎使用Solr 1.4.1。基于GitHub的时间戳,整合项目已有6个月的历史,可能会使用更新的Solr(3.6或更少 - 4 +)。
除非你的Solr是完善的系统,否则我会下载Solr 4并再次尝试使用安装附带的DIH罐子