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

  • 相关阅读:
    bzoj 2618: [Cqoi2006]凸多边形
    BZOJ 4556 [Tjoi2016&Heoi2016]字符串
    BZOJ 4850 [Jsoi2016]灯塔
    BZOJ 2956: 模积和
    PHP 正则表达式
    Linux Centos6.5安装redis3.0 和phpredis
    linux 删除过期文件
    THINKPHP报错 _STORAGE_WRITE_ERROR
    THINKPHP 部署nginx上URL 构造错误
    Linux 修改mysql密码
  • 原文地址:https://www.cnblogs.com/chenying99/p/2677726.html
Copyright © 2011-2022 走看看