2011-05-18 113 views
0

我想从数据库中获取数据以便通过solr进行索引。 我的DB-数据-config.xml文件是:如何从数据库中获取数据solr

<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中必要的修改,但我仍得到一些例外。我不清楚它的全部内容,请给我一些建议。我正在geeting的例外是:同时在 org.apache.solr.handler.dataimport.DataImporter.loadDataConfig(DataImporter初始化 背景下发生 例外:

org.apache.solr.handler.dataimport.DataImportHandlerException。的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) at 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.Serv letHandler.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.ContextHand lerCollection.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) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) at org.mortbay.xml.XmlConfiguration.main(XmlCon figuration.java:929) 处 sun.reflect sun.reflect.NativeMethodAccessorImpl.invoke0(本地 法)以 sun.reflect.NativeMethodAccessorImpl.invoke(未知 来源)。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)

回答

1

Caused by: org.xml.sax.SAXParseException: Element type "entity" must be followed by either attribute specifications, ">" or "/>"

你的实体标签未关闭

+0

Grooveek:雅这真是一个愚蠢的错误; ) – Romi 2011-05-18 11:12:28

+0

Grooveek:现在请帮助我out..lokk在我的db数据-config.xml中提供的问题。将它索引tdiamonds表UID_PK列当我运行命令java -Dsolr.solr.home =“./ example-DIH/solr /”-jar start.jar,它应该这样,但我没有得到任何索引值 – Romi 2011-05-18 11:15:28

+0

对不起,我不是一个solr专家。刚刚发现了错字...你应该问一个关于这个特殊问题的新问题。我认为这个是封闭的 – Grooveek 2011-05-18 12:49:59