zoukankan      html  css  js  c++  java
  • Solr7.x学习(4)-导入数据

    导入配置可参考官网:http://lucene.apache.org/solr/guidehttp://lucene.apache.org/solr/guide/7_7/

    1、数据准备(MySQL8.x数据库)

    DROP TABLE IF EXISTS `dept`;
    CREATE TABLE `dept`  (
      `id` int(11) NOT NULL,
      `code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
      `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
      `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
      `create_time` datetime(0) NULL DEFAULT NULL,
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
    
    INSERT INTO `dept` VALUES (1, '01', '总裁办', '经营管理公司各项事务', '2019-09-28 21:19:42');
    INSERT INTO `dept` VALUES (2, '02', '研发中心', NULL, '2019-09-28 22:02:55');
    

    2、创建field,修改managed-schema文件,添加字段信息

      <field name="code" type="string" uninvertible="true" indexed="true" stored="true"/>
      <field name="name" type="text_ik" uninvertible="true" indexed="true" stored="true"/>
      <field name="remark" type="text_ik" uninvertible="true" indexed="true" stored="true"/>
      <field name="createTime" type="pdate" uninvertible="true" indexed="true" stored="true"/>

        也可以通过url添加,两种添加方式是等效的,url添加的字段会写入managed-schema文件中

    3、修改solrconfig.xml文件,添加配置

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

    4、在同目录创建db-config.xml文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <dataConfig>
      <dataSource type="JdbcDataSource" driver="com.mysql.cj.jdbc.Driver"
                  url="jdbc:mysql://192.168.114.131:3306/zhi_test?characterEncoding=utf8"
                  user="root" password="abc123"/>
      <document>
        <entity name="dept"
                query="select id,code,name,remark,create_time from dept"
                deltaQuery="select id from dept where create_time>'${dataimporter.last_index_time}'"
                deltaImportQuery="select * from dept where id='${dataimporter.delta.id}'">
          <field column="create_time" name="createTime"/>
        </entity>
      </document>
    </dataConfig>

    5、复制solr-7.7.2dist目录下的solr-dataimporthandler-7.7.2.jar和solr-dataimporthandler-extras-7.7.2.jar到solr-7.7.2/server/solr-webapp/webapp/WEB-INF/lib目录下

    6、复制mysql驱动到solr-7.7.2/server/solr-webapp/webapp/WEB-INF/lib目录下

    7、开始导入数据

        1)全量导入数据。导入了原有的2条记录

          2)增量导入数据。只导入新增的1条记录

  • 相关阅读:
    让Extjs EditorGridPanel 编辑时支持方向键
    开发WebApp之PC客户端
    windows下mysql忘记root密码的解决方法
    TortoiseSVN使用svn+ssh协议连接服务器时重复提示输入密码
    jQuery Mobile页面跳转后未加载外部JS原因分析及解决
    在CentOS中安装与配置SVN的方法
    设置VMWARE通过桥接方式使用主机无线网卡上网
    关于sp_executesql与exec执行动态sql的区别--转载RascallySnake
    TreeView 点击触发父节点、子节点的连锁反应选中与取消
    Winform客户端发布与升级:ClickOnce
  • 原文地址:https://www.cnblogs.com/zhi-leaf/p/11605092.html
Copyright © 2011-2022 走看看