β

Solr6.1.0 dataimport导入mysql数据

李阳的技术博客 239 阅读

做完前几篇的练习后,现在就开始导入数据了,之前有介绍过导入文件的datimport《 Solr配置uuid为主键,对文件进行索引 》,那么dataimport还有很多种,本次练习将实现mysql的数据全量导入到solr中。

首先准备两个jar包:

mysql-connector-java-5.1.38.jar

solr-dataimporthandler-6.1.0.jar

其中 solr-dataimporthandler-6.1.0.jar 这个jar就在/data/soft/solr/dist目录中,jdbc的jar包可以去官方下载。

1.新增两个jar包

sudo cp solr-dataimporthandler-6.1.0.jar ../server/solr-webapp/webapp/WEB-INF/lib/
cp ~/mysql-connector-java-5.1.38.jar .

2.在配置文件目录新建mysql.xml

<dataConfig>
        <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://10.10.202.67:3306/solr" user="root" password="abc123"/>
        <document>
                <entity name="user" query="select id,uname,age,sex from user">
                        <field column="id" name="id"/>
                        <field column="uname" name="name"/>
                        <field column="age" name="age"/>
                        <field column="sex" name="sex"/>
                </entity>
        </document>
</dataConfig>

3.修改solrconfig.xml

vi solrconfig.xml

在 <requestHandler name=”/select” class=”solr.SearchHandler”>的上面添加如下内容:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
        <lst name="defaults">
            <str name="config">mysql.xml</str>
        </lst>
</requestHandler>

4.新建一个collection

[cdhuser@TIBMP-FTP-1 mysqlconfigs]$ /data/soft/solr/bin/solr create -c mysqlconn -d /data/solr/config-files/mysqlconfigs -s 1 -rf 2 -n mysqlconf
INFO  - 2016-07-07 12:18:39.899; org.apache.solr.client.solrj.impl.CloudSolrClient; Final constructed zkHost string: 192.168.142.6:2181/solr

Connecting to ZooKeeper at 192.168.142.6:2181/solr ...
Re-using existing configuration directory mysqlconf

Creating new collection 'mysqlconn' using command:
http://localhost:8983/solr/admin/collections?action=CREATE&name=mysqlconn&numShards=1&replicationFactor=2&maxShardsPerNode=1&collection.configName=mysqlconf

{
  "responseHeader":{
    "status":0,
    "QTime":12185},
  "success":{
    "192.168.142.7:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":2385},
      "core":"mysqlconn_shard1_replica1"},
    "192.168.142.6:8983_solr":{
      "responseHeader":{
        "status":0,
        "QTime":2675},
      "core":"mysqlconn_shard1_replica2"}}}

5.重新启动solr

让新增的两个jar包生效

service sold restart

备注:如果创建好后又修改了 manage-schema ,那么只需重新上传到指定目录:

[cdhuser@TIBMP-FTP-1 mysqlconfigs]$ /data/soft/solr/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.142.6:2181/solr -cmd upconfig -collection mysqlconn -confdir /data/solr/config-files/mysqlconfigs -confn
ame mysqlconf
INFO  - 2016-07-07 12:04:10.417; org.apache.solr.cloud.ZkController; zkHost includes chroot

solr-import

未经允许不得转载: 李阳的技术博客 » Solr6.1.0 dataimport导入mysql数据

作者:李阳的技术博客
专注于分享IT技术
原文地址:Solr6.1.0 dataimport导入mysql数据, 感谢原作者分享。

发表评论