我想用Solr4.0逐行索引 MySQL 表。我已经安装了必要的 java,我的数据库名为“twitter_db”,我想要索引的表名为“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)
我想知道在选择表的数据库时是否有错误的数据
我尝试了一个类似的问题,这是一个类似的问题,但我没有在那里找到答案