使用DataImportHandler将MYSQL表行导入solr时出错

时间:2012-11-08 16:35:55

标签: mysql solr

我想逐行地用 Solr4.0 索引MySQL表。我已经安装了必要的java我的数据库叫做'twitter_db'而我希望ot索引的表叫做“tweets” 并且我使用用户登录:root并且没有密码

架构是这样我将其添加到:

   <dataConfig>
        <dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:mysql://localhost/twitter_db" user="root" password="" />
    <document name="tweet">
            <entity name="tweet" query="select * from tweets">
                <field column="tweet_id" name="tweet_id" />
                <field column="text" name="text" />            
                <field column="user" name="user" />
                <field column="tweet_time" name="tweet_time" />
                <field column="topic_kw" name="topic_kw" />
                <field column="timestamp" name="timestamp" />
            </entity>
        </document>
    </dataConfig>

并且solrconfig更改为:

 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
        <str name="config">db-data-config.xml</str>
    </lst>
  </requestHandler>

当我点击[root]时:8983 / solr / db / dataimport?command = full-import   完全导入

失败:GUI中的错误消息是:

  

索引失败。回滚所有更改。

并且日志中的错误消息部分是:

SEVERE: Exception while processing: tweet document : SolrInputDocument[]:org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: select * from tweets Processing Document # 1
    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:252)
    at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:209)

我想知道在选择表格数据库时这是否是错误的数据

我尝试了similar Question这是一个类似的问题,但我没有找到答案

1 个答案:

答案 0 :(得分:0)

检查driver="org.hsqldb.jdbcDriver"它是 hsqldb 而不是它应该指向MySQL驱动程序类。尝试将驱动程序类更新为MySQL和适当的驱动程序。你可以在调试模式下运行它。