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

  • 相关阅读:
    [Maven实战-许晓斌]-[第二章]-2.2基于UNIX系统安装maven
    [Maven实战-许晓斌]-[第二章]-2.1在Windows上安装maven
    【sonar-block】Use try-with-resources or close this "BufferedInputStream" in a "finally" clause.
    sonar阻断级别错误(block)简单汇总
    让子类使用父类的Logger
    集合的addAll方法--list.addAll(null)会报错--java.lang.NullPointerException
    nice
    ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
    Ubuntu 系统修改root密码后,无需密码亦可登录
    MySQL 查找今年的数据
  • 原文地址:https://www.cnblogs.com/chenying99/p/2677726.html
Copyright © 2011-2022 走看看