zoukankan      html  css  js  c++  java
  • solr dataimport 数据导入源码分析(二)

    上文说由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 类实现

  • 相关阅读:
    领导力包括哪些能力?如何提升领导力?
    管理者如何让员工服从?
    常用查询语句
    BZOJ2190 SDOI2008 仪仗队 gcd,欧拉函数
    使用python来操作redis用法详解
    int指令
    浏览器打开exe文件
    feiQ发送信息
    【转】Notepad++ 中文查找(中文搜索)问题解决方法
    【转】Java基本概念:集合类 List/Set/Map...的区别
  • 原文地址:https://www.cnblogs.com/chenying99/p/2677726.html
Copyright © 2011-2022 走看看