Indexing failed. Rolled back all changes. (Solr DataImport)

岁酱吖の 提交于 2019-12-24 03:39:11

问题


When I try to run domain.com:8080/solr/dataimport?command=full-import, I get the error Indexing failed. Rolled back all changes.

There's no additional error message to inform me what when wrong? Any suggestions?

data-config.xml

 <dataConfig>

    <dataSource 
        name="mysql"
        driver="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://localhost/databasename" 
        user="myusername" 
        password="mypassword" />

    <document>

        <entity 
            name="posts" 
            datasource="mysql"
            query="select id, title, description from posts"
            deltaQuery="select id, title, description from posts where updated_at > '${dataimporter.last_index_time}'">\
        </entity>
        <field column="id" name="id" indexed="true" stored="true" />
        <field column="title" name="title" indexed="true" stored="true" />
        <field column="description" name="description" indexed="true" stored="true" />

    </document>

</dataConfig>

Output

<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">0</int>
  </lst>
    <lst name="initArgs">
    <lst name="defaults">
    <str name="config">/usr/local/solr/conf/data-config.xml</str>
  </lst>
</lst>
<str name="command">full-import</str>
<str name="status">idle</str>
<str name="importResponse"/>
<lst name="statusMessages">
  <str name="Time Elapsed">0:0:12.227</str>
  <str name="Total Requests made to DataSource">0</str>
  <str name="Total Rows Fetched">0</str>
  <str name="Total Documents Processed">0</str>
  <str name="Total Documents Skipped">0</str>
  <str name="Full Dump Started">2012-08-16 14:50:07</str>
  <str name="">Indexing failed. Rolled back all changes.</str>
  <str name="Rolledback">2012-08-16 14:50:08</str>
</lst>
<str name="WARNING">
  This response format is experimental. It is likely to change in the future.
</str>
</response>

Log

Aug 16, 2012 3:15:28 PM org.apache.solr.common.SolrException log
  SEVERE: Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Could not load driver: com.mysql.jdbc.Driver 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: Could not load driver: com.mysql.jdbc.Driver 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

回答1:


All info about what went wrong is in the log file (usually: catalina.out)




回答2:


It looks to me like you are missing the solr mysql driver.




回答3:


Or if you have the solr mysql connector, it can't find it. Make sure it's in the proper lib directory (solr/yourdb/lib and/or example/lib) or put it somewhere reachable and add:

{lib dir="path/to/lib/dir/containing/mysql-connecter/" regex="mysql-connector-java-\d.*\.jar" }

to your solrconfig.xml file.

I put it in the upper level solr-4.X/dist/ folder and put

{lib dir="../../../../dist/" regex="mysql-connector-java-\d.*\.jar"}

in solr config.xml



来源:https://stackoverflow.com/questions/11990015/indexing-failed-rolled-back-all-changes-solr-dataimport

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!