zoukankan      html  css  js  c++  java
  • Solr导入MySQL数据之dataimport-handler

      Solr不借助手动JSolr编程情况下也可以将Mysql的数据导入到Solr中。实现方式是安装dataimport-Handler从关系数据库将数据导入到索引库。

    1、向SolrCore中加入jar包
      在SolrCore目录中创建lib目录,将dataimportHandler和mysql数据库驱动的jar拷贝至lib下(dataimportHandler在solr安装目录的dist下)

    1 mkdir /opt/solrHome/collection1/lib
    2 cp /opt/solr-4.10.3/dist/solr-dataimporthandler-* /opt/solrHome/collection1/lib
    3 cp /opt/mysql-connector-java-5.1.34.jar /opt/solrHome/collection1/lib

    2、修改solrconfig.xml,添加requestHandler

    1 vim /opt/solrHome/collection1/conf/solrconfig.xml
    1 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    2     <lst name="defaults">
    3     <str name="config">data-config.xml</str>
    4 </lst>
    5 </requestHandler>

    3、编辑data-config.xml文件,存放在SolrCore的conf目录

    1 vim /opt/solrHome/collection1/conf/data-config.xml

      <field column="id" name="id"/>必须有一个id域,这里使用Solr默认的id域,域值是从关系数据库查询的pid列值。下边以name、description等Field都是在schema.xml中定义好的商品信息Field。

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <dataConfig>
     3     <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/lucene" user="root" password="root"/>
     4     <document>
     5         <entity name="product" query="SELECT id,db_name,db_price,db_description FROM products ">
     6             <field column="id" name="id"/>
     7             <field column="db_name" name="name"/>
     8             <field column="db_price" name="price"/>
     9             <field column="db_description" name="description"/>
    10         </entity>
    11     </document>
    12 </dataConfig>

    4、重启Tomcat,进入管理界面--》SolrCore--》dataimport下执行导入,可见导入数据条数

    需要注意的是导入数据点击Execute后程序不会自动停止导入,需要手动点击停止。

    MySQL数据库中的数据:

    Solr索引库中的数据:

  • 相关阅读:
    ViewPager实现页卡的最新方法--简洁的TabLayout(谷歌支持包)
    Android 使用Fragment,ViewPagerIndicator 制作csdn app主要框架
    TelephonyManager
    Android之CookieStore的持久化
    Android中使用HTTP服务
    Android HttpClient基本使用方法
    Android Https相关完全解析 当OkHttp遇到Https
    告诉你月薪3万的程序员都避开了哪些坑?
    计算机上面常用的计算单位 & 个人计算机架构与接口设备
    计算机硬件的五大单元 & CPU的种类 & 计算机的运行流程
  • 原文地址:https://www.cnblogs.com/guanghe/p/10490491.html
Copyright © 2011-2022 走看看