上文说由DataImporter类进一步处理,DataImporter类的简要代码如下

/***********************************************************************

* Module:  DataImporter.java

* Author:  Administrator

* Purpose: Defines the Class DataImporter

***********************************************************************/

import java.util.*;

/** @pdOid 6bcd8340-c69a-4f17-b886-2c530258bdb6 */

public class DataImporter {

/** @param key

* @param name

* @param ctx

* @pdOid f7657de8-0309-4376-895f-ee6d10261de2 */

DataSource getDataSourceInstance(DataConfig.Entity key, String name, Context ctx) {

DataSource dataSrc = new JdbcDataSource();

return DataSource;

}

/** @param reqParams

* @param sw

* @pdOid d62e4f04-48dc-485b-bb00-be1a56117e92 */

void runCmd(RequestParams reqParams, SolrWriter sw) {

doFullImport(sw,reqParams);

doDeltaImport(sw,reqParams);

}

/** @pdOid bd4adb15-5fad-4770-a57e-3443bf440533 */

public DocBuilder docBuilder;

/** @param writer

* @param requestParams

* @pdOid 8743a461-6a20-44ad-bd75-d1cdfd97ede0 */

public void doFullImport(SolrWriter writer, RequestParams requestParams) {
     docBuilder = new DocBuilder(this, writer, propWriter, requestParams);

docBuilder.execute();

}

/** @param writer

* @param requestParams

* @pdOid a43ada26-0d41-4b02-ba66-a22a4a369a46 */

public void doDeltaImport(SolrWriter writer, RequestParams requestParams) {

docBuilder = new DocBuilder(this, writer, propWriter, requestParams);

docBuilder.execute();

}

}

其中runCmd方法根据请求参数决定调用自身的doFullImport(sw,reqParams); 方法或doDeltaImport(sw,reqParams);方法,分别对应全部导入和增量导入

DataImporter类持有对DocBuilder 的引用,具体的InputDocument的创建由DocBuilder 类实现

转载于:https://www.cnblogs.com/chenying99/archive/2012/09/09/2677726.html

solr dataimport 数据导入源码分析(二)相关推荐

  1. gSOAP 源码分析(二)

    gSOAP 源码分析(二) 2012-5-24 flyfish 一 gSOAP XML介绍 Xml的全称是EXtensible Markup Language.可扩展标记语言.仅仅是一个纯文本.适合用 ...

  2. 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 二 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...

  3. SpringBoot源码分析(二)之自动装配demo

    SpringBoot源码分析(二)之自动装配demo 文章目录 SpringBoot源码分析(二)之自动装配demo 前言 一.创建RedissonTemplate的Maven服务 二.创建测试服务 ...

  4. ENS最新合约源码分析二

    ENS(以太坊域名服务)智能合约源码分析二 0.简介 ​ 本次分享直接使用线上实际注册流程来分析最新注册以太坊域名的相关代码.本次主要分析最新的关于普通域名注册合约和普通域名迁移合约,短域名竞拍合约不 ...

  5. Android Q 10.1 KeyMaster源码分析(二) - 各家方案的实现

    写在之前 这两篇文章是我2021年3月初看KeyMaster的笔记,本来打算等分析完KeyMaster和KeyStore以后再一起做成一系列贴出来,后来KeyStore的分析中断了,这一系列的文章就变 ...

  6. 【投屏】Scrcpy源码分析二(Client篇-连接阶段)

    Scrcpy源码分析系列 [投屏]Scrcpy源码分析一(编译篇) [投屏]Scrcpy源码分析二(Client篇-连接阶段) [投屏]Scrcpy源码分析三(Client篇-投屏阶段) [投屏]Sc ...

  7. 物联网协议之MQTT源码分析(二)

    此篇文章继上一篇物联网协议之MQTT源码分析(一)而写的第二篇MQTT发布消息以及接收Broker消息的源码分析,想看MQTT连接的小伙伴可以去看我上一篇哦. juejin.im/post/5cd66 ...

  8. Nouveau源码分析(二):Nouveau结构体的基本框架

    Nouveau源码分析(二) 在讨论Nouveau对Nvidia设备的初始化前,我准备先说一下Nouveau结构体的基本框架 Nouveau的很多结构体都可以看作是C++中的类,之间有很多相似的东西, ...

  9. django之:网页伪静态 JsonResponse form表单携带文件数据 CBV源码分析 模板语法传值 模板语法之过滤器 标签 自定义标签函数 过滤器、inclusion_tag模板的继承导入

    目录标题 一:网页伪静态 1.定义 2.如何实现 二:视图层 1.视图函数返回值问题 2.视图层返回json格式的数据 3.form表单携带文件数据 4.CBV源码分析 1.CBV和FBV: 2.CB ...

最新文章

  1. 安信证券王环:安信证券数据中台建设历程
  2. 微软大法好不好,终于要对比了
  3. PLSQL创建用户及权限分配
  4. 中国大推力矢量发动机WS15 跨入 世界先进水平!
  5. java时间往后一天_如何在Java中将日期增加一天?
  6. Android笔记 actionbar学习
  7. Java 算法 面试
  8. 5 万条微信语音升入太空;阿里京东否认停止社招;雷军开怼华为 | 极客头条...
  9. 环境变量 - Maven
  10. 使用C#语言,从Excel2007中读取数据,并显示到Form中的DataGridView。
  11. javaul材质包下载_我的世界:7月商城作品下载量再创新高 TOP10中有哪些你喜欢的?...
  12. python文档中文版下载,python帮助文档中文版
  13. 【HTTPServer】借助Python建立简易的HTTP服务
  14. 大数据经典书籍良心推荐
  15. 深度学习Course4第三周Detection Algorithms习题整理
  16. CTSC1999补丁VS错误题解
  17. 搜索引擎蜘蛛的基本原理及工作流程
  18. 使用EventLog类写Windows事件日志
  19. Windows下快速获取一个文件夹下所有文件的名称列表
  20. 计算机图形学三维建模及灯光作业(派大星)

热门文章

  1. 【笔记】大数定理证明
  2. JS 获取 鼠标 坐标
  3. Java接口多线程并发测试 (一)
  4. 20165220 第七周学习总结
  5. [hdu] 5696 区间的价值 || 序列分治
  6. Django的quarySet
  7. 2017.9.2 校内模拟赛
  8. 五小步让VS Code支持AngularJS智能提示
  9. CSS 外边距(margin)重叠及防止方法
  10. 在Indicator中添加动态Checkbox,无需绑定数据源,支持全选 - Ehlib学习(二)