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 类实现

  • 相关阅读:
    localStorage、sessionStorage详解,以及storage事件使用
    企业和开发人员究竟该如何适应web标准?
    平面设计常用制作尺寸
    git命令
    TCP/IP、Http、Socket的区别
    canvas
    《千克》
    《小数的加法》
    fiddler设置代理
    《分数的基本性质》
  • 原文地址:https://www.cnblogs.com/chenying99/p/2677726.html
Copyright © 2011-2022 走看看