我正在尝试让Solr连接到数据库。
这是错误:
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
我的data-config.xml:
<dataConfig>
<dataSource
name="mysqltest"
type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/product"
user="solr"
password="xxx"/>
<document>
<entity name="id" dataSource="mysqltest" query="select * from products">
<field column="id" name="id"/>
<field column="name" name="name"/>
</entity>
</document>
</dataConfig>
solrconfig.xml中
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<luceneMatchVersion>7.2.1</luceneMatchVersion>
<lib dir="./lib" />
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}contrib/dataimporthandler/lib/" regex="mysql-connector-java-8.0.11\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
我做了几行变化:
<lib dir="${solr.install.dir:../../../..}contrib/dataimporthandler/lib/" regex="mysql-connector-java-8.0.11\.jar" />
我尝试使用 regex =“。 .jar”*进行absolut路径,正则表达式,但没有连接器名称中的反斜杠。
mysql-connector-java-8.0.11.jar位于正确的位置。
任何建议都非常感谢。
答案 0 :(得分:0)
还可以发布日志输出吗?在lib目录中的contrib之前似乎缺少一个斜杠,应该像这样:
<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib/" regex="mysql-connector-java-8.0.11\.jar" />
答案 1 :(得分:-1)
打开启动日志记录显示真正的问题,配置是正确的。