【发布时间】:2011-08-27 22:48:39
【问题描述】:
我想从数据库中获取数据以通过 solr 进行索引。 我的 db-data-config.xml 是:
<dataConfig>
<dataSource type="JdbcDataSource" driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://192.168.1.9:3306/angara" user="root" password="ampliflex" />
<document>
<entity name="tdiamonds" query="select UID_PK from tdiamonds"
<field column="UID_PK" name="name" />
</entity>
</document> </dataConfig>
我在 schema.xml 和 solrconfig.xml 中做了必要的更改,但我仍然遇到了一些异常。我不清楚这是什么意思,请给我一些建议。我遇到的例外情况是:
org.apache.solr.handler.dataimport.DataImportHandlerException: 初始化时发生异常 上下文在 org.apache.solr.handler.dataimport.DataImporter.loadDataConfig(DataImporter.java:190) 在 org.apache.solr.handler.dataimport.DataImporter.(DataImporter.java:101) 在 org.apache.solr.handler.dataimport.DataImportHandler.inform(DataImportHandler.java:113) 在 org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:486) 在 org.apache.solr.core.SolrCore.(SolrCore.java:588) 在 org.apache.solr.core.CoreContainer.create(CoreContainer.java:428) 在 org.apache.solr.core.CoreContainer.load(CoreContainer.java:278) 在 org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:117) 在 org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83) 在 org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:99) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:594) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:139) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147) 在 org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117) 在 org.mortbay.jetty.Server.doStart(Server.java:210) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) 在 org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:929) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(未知 来源)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知 来源)在 java.lang.reflect.Method.invoke(未知 来源)在 org.mortbay.start.Main.invokeMain(Main.java:183) 在 org.mortbay.start.Main.start(Main.java:497) 在 org.mortbay.start.Main.main(Main.java:115) 造成的: org.xml.sax.SAXParseException:元素 类型“实体”必须后跟 任一属性规范,“>” 或“/>”。在 com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(未知 来源)在 com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(未知 来源)在 org.apache.solr.handler.dataimport.DataImporter.loadDataConfig(DataImporter.java:178)
【问题讨论】: