我在Windows 10上使用apache solr版本6.4.1。我想将数据从mysql数据库加载到solr核心但它不起作用。 这是一个场景:目录 \ solr-6.4.1 \ solr-6.4.1 \ server \ solr 中有一个名为ako的核心,文件 solrconfig.xml&目录 \ solr-6.4.1 \ solr-6.4.1 \ server \ solr \ ako \ conf 中的db-data-config.xml 。我将所需的代码行添加到 solrconfig.xml ,如下所示:
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-6.4.1.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-extras-6.4.1.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
及以下是文件 db-data-config.xml :
的内容<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/meeva" user="root" password=""/>
<document>
<entity name="businesses" query="select id, title from businesses">
<field column="id" name="biz_id" />
<field column="title" name="biz_title" />
</entity>
</document>
</dataConfig>
我添加了以下内容的 scema.xml 文件,但仍无效:
<field name="biz_id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="biz_title" type="string" indexed="true" stored="true"/>
但是从solr管理页面导入数据时(转到 http://localhost:8983/solr/#/ako/dataimport//dataimport?command=full-import ) 它返回请求:0,提取:0,跳过:0,已处理:0 什么都没有添加到core.can任何人都可以帮助吗?
答案 0 :(得分:0)
仅启用 solr-dataimporter
处理程序是不够的。您还需要启用 mysql-connector
。
转到 mysql 档案:https://downloads.mysql.com/archives/c-j/
选择与您的 Solr 版本最新发布的版本相近的版本。
下载它,然后复制 .jar 文件,例如mysql-connector-java-5.1.41-bin.jar
到您的 solr libs 目录(可能是您的 solr 安装路径下的 /dist
目录)。
您必须重新启动 Solr 服务才能应用此功能。