apache solr无法将mysql数据加载到核心

hgb9j2n6  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(193)

我在Windows 10上使用Apache Solr版本6.4.1。我想从mysql数据库加载数据到Solr核心,但它不工作。以下是场景:在目录**\solr-6.4.1\solr-6.4.1\server\solr和目录\solr-6.4.1\solr-6.4.1\server\solr\ako\conf下的文件solrconfig.xml和db-data-config.xml中有一个名为ako的内核。我在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?命令=full-import),它返回请求:0,已提取:0,已跳过:0,已处理:0和没有添加到核心。有人能帮助吗?

mmvthczy

mmvthczy1#

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

相关问题