apache solr不会将mysql数据加载到核心

时间:2017-02-19 16:57:15

标签: mysql solr lucene

我在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任何人都可以帮助吗?

1 个答案:

答案 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 服务才能应用此功能。