我在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和没有添加到核心。有人能帮助吗?
1条答案
按热度按时间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服务才能应用此功能。