生成全部可能存在的身份证号码并写入solr搜索引擎,及搜索查询结果

上一篇文章讲到了生成全部的身份证号码,并写入文档。但是身份证号码仅仅写入文档,那就没有意义了,必须能够搜索才行。但是有950亿条数据,写入数据库进行搜索,那也太为难数据库了。所以我想到了solr搜索。

首先搭建solr搜索引擎服务器,这里就不啰嗦了,我是根据这个链接一步步完成搭建的。服务器搭建完成以后就是数据的写入和搜索了。起初我用SolrInputDocument写入几百万条记录的时候,数度非常快,也提交成功了。但是当我尝试写入四千万条的时候,不知道为什么没有提交成功。写入的数据仅仅只有100多M。所以我就改成了addBeans的方法进行写入,这次花快4个小时,成功插入了一亿四千万条记录。代码如下:

import org.apache.solr.client.solrj.beans.Field;

class CardBean {
    @Field
    private String id;

    @Field
    private String name;

    public CardBean() {

    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.joda.time.Days;
import org.joda.time.LocalDate;

import com.luoy.common.Contants;
import com.luoy.common.Utils;

public class TestAddCardBeans {

    public final static int number = 5000000;

    public static void main(String[] args) {
        long s = System.currentTimeMillis();
        // 起始日期
        LocalDate start = new LocalDate(1980, 1, 1);
        // 结束日期
        LocalDate end = new LocalDate(1980, 1, 15);
        int days = Days.daysBetween(start, end).getDays();
        // System.out.println(days);
        // System.out.println(Contants.XZQHDM.length);
        long total = RadId(start, days, s);
        long e = System.currentTimeMillis();
        System.out.println("总共生成:" + total + "条记录;历时:" + (e - s) + "毫秒");
    }

    /**
     * 生成身份证号码,写入文件
     * 
     * @param start
     * @param days
     * @param s
     * @return
     */
    public static long RadId(LocalDate start, int days, long s) {
        long total = 0;
        HttpSolrServer server = new HttpSolrServer(Contants.SOLR_URL);
        Collection beans = new ArrayList();
        CardBean bean = null;
        try {
            StringBuilder id = new StringBuilder();
            for (int i = 0; i < Contants.XZQHDM.length; i++) {
                id.delete(0, id.length());// 清空id
                id.append(Contants.XZQHDM[i]);// 行政区划
                // id.append("440306");// 行政区划

                for (int j = 0; j < days; j++) {
                    id.delete(6, id.length());
                    String birthDay = start.plusDays(j).toString("yyyyMMdd");
                    id.append(birthDay);// 生日

                    for (int k = 1; k <= 999; k++) {
                        total++;
                        id.delete(14, id.length());// 删除后面4位
                        if (k >= 10 && k < 100) {
                            id.append('0');
                        } else if (k < 10) {
                            id.append("00");
                        }
                        id.append(k);
                        id.append(Utils.createVali(id));

                        String cardId = id.toString();
                        bean = new CardBean();
                        bean.setId(cardId);
                        bean.setName(Utils.getMD5(cardId));
                        beans.add(bean);
                        // 每一千万控制台输出一条记录
                        if (total % number == 0) {
                            String ms = "完成 " + (total / 10000) + "万;历时:" + (System.currentTimeMillis() - s) + "毫秒";
                            System.out.println(ms + " " + cardId);
                        }
                        if (total % 150000 == 0) {
                            server.addBeans(beans.iterator());
                            beans.clear();
                        }
                    }
                }
            }
            if (beans != null && !beans.isEmpty()) {
                server.addBeans(beans.iterator());
                beans.clear();
            }
        } catch (SolrServerException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                server.optimize();
                server.commit();
            } catch (SolrServerException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return total;
    }
}

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Utils {

    public final static char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
    public final static char[] ary = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };
    public final static int[] idnum = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };

    /**
     * MD5加密
     * 
     * @param s
     * @return
     */
    public static String getMD5(String s) {
        try {
            byte[] strTemp = s.getBytes();
            // 使用MD5创建MessageDigest对象
            MessageDigest mdTemp = MessageDigest.getInstance("MD5");
            mdTemp.update(strTemp);
            byte[] md = mdTemp.digest();
            int j = md.length;
            char str[] = new char[j * 2];
            int k = 0;
            for (int i = 0; i < j; i++) {
                byte b = md[i];
                // 将没个数(int)b进行双字节加密
                str[k++] = hex[b >> 4 & 0xf];
                str[k++] = hex[b & 0xf];
            }
            return new String(str);
        } catch (NoSuchAlgorithmException e) {
            return null;
        }
    }

    /**
     * 根据验证算法,生成身份证最后一位校验码
     * 
     * @param id
     *            身份证的前17位
     * @return
     */
    public static char createVali(StringBuilder id) {
        char[] charset = new char[id.length()];
        int sum = 0, left;
        for (int i = 0; i < charset.length; i++) {
            charset[i] = id.charAt(i);
        }
        for (int i = 0; i < idnum.length; i++) {
            sum = sum + (charset[i] - '0') * idnum[i];
        }
        left = sum % 11;
        return ary[left];
    }

    /**
     * 拼接分页查询sql
* ORACLE,SQLSERVER,DB2,达梦数据库通用 * * @param field * @param from * @param page * @param size * @return */ public static String joinPageQuerySql(final String field, final String from, final String page, final String size, final String orderBy) { int pageNum = 1;// 页数从1开始计数 int sizeNum = 15; if (isNotBlank(page)) { pageNum = Integer.parseInt(page); if (pageNum < 1) { pageNum = 1; } } if (isNotBlank(size)) { sizeNum = Integer.parseInt(size); if (sizeNum < 0) { sizeNum = 15; } } StringBuilder sb = new StringBuilder("SELECT "); sb.append(field); sb.append(" FROM (SELECT ROW_NUMBER() OVER (ORDER BY "); sb.append(isNotBlank(orderBy) ? orderBy : field); sb.append(") AS RN,PAGE1.* FROM("); sb.append(from); sb.append(") PAGE1 ) PAGE2 WHERE RN <= "); sb.append(pageNum * sizeNum); sb.append(" AND RN > "); sb.append((pageNum - 1) * sizeNum); return sb.toString(); } public static boolean isBlank(String str) { int strLen; if (str == null || (strLen = str.length()) == 0) return true; for (int i = 0; i < strLen; i++) if (!Character.isWhitespace(str.charAt(i))) return false; return true; } public static boolean isNotBlank(String str) { return !isBlank(str); } public static String trim(String str) { return str != null ? str.trim() : ""; } }


import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;

import com.luoy.common.Contants;

/**
 * 搜索结果
 * 
 * @author 罗勇
 * 
 */
public class TestQueryCard {

    public static void main(String[] args) {
        long s = System.currentTimeMillis();
        HttpSolrServer server = new HttpSolrServer(Contants.SOLR_URL);
        search(server, "xxxxxxxx");
        long e = System.currentTimeMillis();
        System.out.println((e - s) + "ms");
    }

    public static String search(HttpSolrServer server, String name) {
        String id = "";
        // 使用SolrQuery传递参数,SolrQuery的封装性更好
        SolrQuery query = new SolrQuery();
        query.setQuery("name:" + name);
        query.setFields("id", "name");
        // query.setSort("id", ORDER.asc);
        query.setStart(0);
        query.setRows(1);
        try {
            QueryResponse response = server.query(query);
            // 搜索得到的结果数
            // System.out.println("Find:" +
            // response.getResults().getNumFound());
            // 输出结果
            int iRow = 1;
            for (SolrDocument doc : response.getResults()) {
                id = doc.getFieldValue("id").toString();
                // System.out.println("----------" + iRow + "------------");
                // System.out.println("id: " + id + "\tname: " + name);
                iRow++;
            }
        } catch (SolrServerException e) {
            e.printStackTrace();
        }
        return id;
    }
}


public class Contants {
    public static final String SOLR_URL = "http://127.0.0.1:8080/solr";

    // 全国行政区划
    public final static String[] XZQHDM = new String[] { "110000", "110100", "110101", "110102", "110105", "110106",
            "110107", "110108", "110109", "110111", "110112", "110113", "110114", "110115", "110116", "110117",
            "110200", "110228", "110229", "120000", "120100", "120101", "120102", "120103", "120104", "120105",
            "120106", "120110", "120111", "120112", "120113", "120114", "120115", "120116", "120200", "120221",
            "120223", "120225", "130000", "130100", "130101", "130102", "130103", "130104", "130105", "130107",
            "130108", "130121", "130123", "130124", "130125", "130126", "130127", "130128", "130129", "130130",
            "130131", "130132", "130133", "130181", "130182", "130183", "130184", "130185", "130200", "130201",
            "130202", "130203", "130204", "130205", "130207", "130208", "130223", "130224", "130225", "130227",
            "130229", "130230", "130281", "130283", "130300", "130301", "130302", "130303", "130304", "130321",
            "130322", "130323", "130324", "130400", "130401", "130402", "130403", "130404", "130406", "130421",
            "130423", "130424", "130425", "130426", "130427", "130428", "130429", "130430", "130431", "130432",
            "130433", "130434", "130435", "130481", "130500", "130501", "130502", "130503", "130521", "130522",
            "130523", "130524", "130525", "130526", "130527", "130528", "130529", "130530", "130531", "130532",
            "130533", "130534", "130535", "130581", "130582", "130600", "130601", "130602", "130603", "130604",
            "130621", "130622", "130623", "130624", "130625", "130626", "130627", "130628", "130629", "130630",
            "130631", "130632", "130633", "130634", "130635", "130636", "130637", "130638", "130681", "130682",
            "130683", "130684", "130700", "130701", "130702", "130703", "130705", "130706", "130721", "130722",
            "130723", "130724", "130725", "130726", "130727", "130728", "130729", "130730", "130731", "130732",
            "130733", "130800", "130801", "130802", "130803", "130804", "130821", "130822", "130823", "130824",
            "130825", "130826", "130827", "130828", "130900", "130901", "130902", "130903", "130921", "130922",
            "130923", "130924", "130925", "130926", "130927", "130928", "130929", "130930", "130981", "130982",
            "130983", "130984", "131000", "131001", "131002", "131003", "131022", "131023", "131024", "131025",
            "131026", "131028", "131081", "131082", "131100", "131101", "131102", "131121", "131122", "131123",
            "131124", "131125", "131126", "131127", "131128", "131181", "131182", "140000", "140100", "140101",
            "140105", "140106", "140107", "140108", "140109", "140110", "140121", "140122", "140123", "140181",
            "140200", "140201", "140202", "140203", "140211", "140212", "140221", "140222", "140223", "140224",
            "140225", "140226", "140227", "140300", "140301", "140302", "140303", "140311", "140321", "140322",
            "140400", "140401", "140402", "140411", "140421", "140423", "140424", "140425", "140426", "140427",
            "140428", "140429", "140430", "140431", "140481", "140500", "140501", "140502", "140521", "140522",
            "140524", "140525", "140581", "140600", "140601", "140602", "140603", "140621", "140622", "140623",
            "140624", "140700", "140701", "140702", "140721", "140722", "140723", "140724", "140725", "140726",
            "140727", "140728", "140729", "140781", "140800", "140801", "140802", "140821", "140822", "140823",
            "140824", "140825", "140826", "140827", "140828", "140829", "140830", "140881", "140882", "140900",
            "140901", "140902", "140921", "140922", "140923", "140924", "140925", "140926", "140927", "140928",
            "140929", "140930", "140931", "140932", "140981", "141000", "141001", "141002", "141021", "141022",
            "141023", "141024", "141025", "141026", "141027", "141028", "141029", "141030", "141031", "141032",
            "141033", "141034", "141081", "141082", "141100", "141101", "141102", "141121", "141122", "141123",
            "141124", "141125", "141126", "141127", "141128", "141129", "141130", "141181", "141182", "150000",
            "150100", "150101", "150102", "150103", "150104", "150105", "150121", "150122", "150123", "150124",
            "150125", "150200", "150201", "150202", "150203", "150204", "150205", "150206", "150207", "150221",
            "150222", "150223", "150300", "150301", "150302", "150303", "150304", "150400", "150401", "150402",
            "150403", "150404", "150421", "150422", "150423", "150424", "150425", "150426", "150428", "150429",
            "150430", "150500", "150501", "150502", "150521", "150522", "150523", "150524", "150525", "150526",
            "150581", "150600", "150601", "150602", "150621", "150622", "150623", "150624", "150625", "150626",
            "150627", "150700", "150701", "150702", "150721", "150722", "150723", "150724", "150725", "150726",
            "150727", "150781", "150782", "150783", "150784", "150785", "150800", "150801", "150802", "150821",
            "150822", "150823", "150824", "150825", "150826", "150900", "150901", "150902", "150921", "150922",
            "150923", "150924", "150925", "150926", "150927", "150928", "150929", "150981", "152200", "152201",
            "152202", "152221", "152222", "152223", "152224", "152500", "152501", "152502", "152522", "152523",
            "152524", "152525", "152526", "152527", "152528", "152529", "152530", "152531", "152900", "152921",
            "152922", "152923", "210000", "210100", "210101", "210102", "210103", "210104", "210105", "210106",
            "210111", "210112", "210113", "210114", "210122", "210123", "210124", "210181", "210200", "210201",
            "210202", "210203", "210204", "210211", "210212", "210213", "210224", "210281", "210282", "210283",
            "210300", "210301", "210302", "210303", "210304", "210311", "210321", "210323", "210381", "210400",
            "210401", "210402", "210403", "210404", "210411", "210421", "210422", "210423", "210500", "210501",
            "210502", "210503", "210504", "210505", "210521", "210522", "210600", "210601", "210602", "210603",
            "210604", "210624", "210681", "210682", "210700", "210701", "210702", "210703", "210711", "210726",
            "210727", "210781", "210782", "210800", "210801", "210802", "210803", "210804", "210811", "210881",
            "210882", "210900", "210901", "210902", "210903", "210904", "210905", "210911", "210921", "210922",
            "211000", "211001", "211002", "211003", "211004", "211005", "211011", "211021", "211081", "211100",
            "211101", "211102", "211103", "211121", "211122", "211200", "211201", "211202", "211204", "211221",
            "211223", "211224", "211281", "211282", "211300", "211301", "211302", "211303", "211321", "211322",
            "211324", "211381", "211382", "211400", "211401", "211402", "211403", "211404", "211421", "211422",
            "211481", "220000", "220100", "220101", "220102", "220103", "220104", "220105", "220106", "220112",
            "220122", "220181", "220182", "220183", "220200", "220201", "220202", "220203", "220204", "220211",
            "220221", "220281", "220282", "220283", "220284", "220300", "220301", "220302", "220303", "220322",
            "220323", "220381", "220382", "220400", "220401", "220402", "220403", "220421", "220422", "220500",
            "220501", "220502", "220503", "220521", "220523", "220524", "220581", "220582", "220600", "220601",
            "220602", "220605", "220621", "220622", "220623", "220681", "220700", "220701", "220702", "220721",
            "220722", "220723", "220724", "220800", "220801", "220802", "220821", "220822", "220881", "220882",
            "222400", "222401", "222402", "222403", "222404", "222405", "222406", "222424", "222426", "230000",
            "230100", "230101", "230102", "230103", "230104", "230108", "230109", "230110", "230111", "230112",
            "230123", "230124", "230125", "230126", "230127", "230128", "230129", "230182", "230183", "230184",
            "230200", "230201", "230202", "230203", "230204", "230205", "230206", "230207", "230208", "230221",
            "230223", "230224", "230225", "230227", "230229", "230230", "230231", "230281", "230300", "230301",
            "230302", "230303", "230304", "230305", "230306", "230307", "230321", "230381", "230382", "230400",
            "230401", "230402", "230403", "230404", "230405", "230406", "230407", "230421", "230422", "230500",
            "230501", "230502", "230503", "230505", "230506", "230521", "230522", "230523", "230524", "230600",
            "230601", "230602", "230603", "230604", "230605", "230606", "230621", "230622", "230623", "230624",
            "230700", "230701", "230702", "230703", "230704", "230705", "230706", "230707", "230708", "230709",
            "230710", "230711", "230712", "230713", "230714", "230715", "230716", "230722", "230781", "230800",
            "230801", "230803", "230804", "230805", "230811", "230822", "230826", "230828", "230833", "230881",
            "230882", "230900", "230901", "230902", "230903", "230904", "230921", "231000", "231001", "231002",
            "231003", "231004", "231005", "231024", "231025", "231081", "231083", "231084", "231085", "231100",
            "231101", "231102", "231121", "231123", "231124", "231181", "231182", "231200", "231201", "231202",
            "231221", "231222", "231223", "231224", "231225", "231226", "231281", "231282", "231283", "232700",
            "232721", "232722", "232723", "310000", "310100", "310101", "310103", "310104", "310105", "310106",
            "310107", "310108", "310109", "310110", "310112", "310113", "310114", "310115", "310116", "310117",
            "310118", "310120", "310200", "310230", "320000", "320100", "320101", "320102", "320103", "320104",
            "320105", "320106", "320107", "320111", "320113", "320114", "320115", "320116", "320124", "320125",
            "320200", "320201", "320202", "320203", "320204", "320205", "320206", "320211", "320281", "320282",
            "320300", "320301", "320302", "320303", "320305", "320311", "320312", "320321", "320322", "320324",
            "320381", "320382", "320400", "320401", "320402", "320404", "320405", "320411", "320412", "320481",
            "320482", "320500", "320501", "320502", "320503", "320504", "320505", "320506", "320507", "320581",
            "320582", "320583", "320584", "320585", "320600", "320601", "320602", "320611", "320612", "320621",
            "320623", "320681", "320682", "320684", "320700", "320701", "320703", "320705", "320706", "320721",
            "320722", "320723", "320724", "320800", "320801", "320802", "320803", "320804", "320811", "320826",
            "320829", "320830", "320831", "320900", "320901", "320902", "320903", "320921", "320922", "320923",
            "320924", "320925", "320981", "320982", "321000", "321001", "321002", "321003", "321011", "321023",
            "321081", "321084", "321088", "321100", "321101", "321102", "321111", "321112", "321181", "321182",
            "321183", "321200", "321201", "321202", "321203", "321281", "321282", "321283", "321284", "321300",
            "321301", "321302", "321311", "321322", "321323", "321324", "330000", "330100", "330101", "330102",
            "330103", "330104", "330105", "330106", "330108", "330109", "330110", "330122", "330127", "330182",
            "330183", "330185", "330200", "330201", "330203", "330204", "330205", "330206", "330211", "330212",
            "330225", "330226", "330281", "330282", "330283", "330300", "330301", "330302", "330303", "330304",
            "330322", "330324", "330326", "330327", "330328", "330329", "330381", "330382", "330400", "330401",
            "330402", "330411", "330421", "330424", "330481", "330482", "330483", "330500", "330501", "330502",
            "330503", "330521", "330522", "330523", "330600", "330601", "330602", "330621", "330624", "330681",
            "330682", "330683", "330700", "330701", "330702", "330703", "330723", "330726", "330727", "330781",
            "330782", "330783", "330784", "330800", "330801", "330802", "330803", "330822", "330824", "330825",
            "330881", "330900", "330901", "330902", "330903", "330921", "330922", "331000", "331001", "331002",
            "331003", "331004", "331021", "331022", "331023", "331024", "331081", "331082", "331100", "331101",
            "331102", "331121", "331122", "331123", "331124", "331125", "331126", "331127", "331181", "340000",
            "340100", "340101", "340102", "340103", "340104", "340111", "340121", "340122", "340123", "340200",
            "340201", "340202", "340203", "340207", "340208", "340221", "340222", "340223", "340300", "340301",
            "340302", "340303", "340304", "340311", "340321", "340322", "340323", "340400", "340401", "340402",
            "340403", "340404", "340405", "340406", "340421", "340500", "340501", "340502", "340503", "340504",
            "340521", "340600", "340601", "340602", "340603", "340604", "340621", "340700", "340701", "340702",
            "340703", "340711", "340721", "340800", "340801", "340802", "340803", "340811", "340822", "340823",
            "340824", "340825", "340826", "340827", "340828", "340881", "341000", "341001", "341002", "341003",
            "341004", "341021", "341022", "341023", "341024", "341100", "341101", "341102", "341103", "341122",
            "341124", "341125", "341126", "341181", "341182", "341200", "341201", "341202", "341203", "341204",
            "341221", "341222", "341225", "341226", "341282", "341300", "341301", "341302", "341321", "341322",
            "341323", "341324", "341400", "341401", "341402", "341421", "341422", "341423", "341424", "341500",
            "341501", "341502", "341503", "341521", "341522", "341523", "341524", "341525", "341600", "341601",
            "341602", "341621", "341622", "341623", "341700", "341701", "341702", "341721", "341722", "341723",
            "341800", "341801", "341802", "341821", "341822", "341823", "341824", "341825", "341881", "350000",
            "350100", "350101", "350102", "350103", "350104", "350105", "350111", "350121", "350122", "350123",
            "350124", "350125", "350128", "350181", "350182", "350200", "350201", "350203", "350205", "350206",
            "350211", "350212", "350213", "350300", "350301", "350302", "350303", "350304", "350305", "350322",
            "350400", "350401", "350402", "350403", "350421", "350423", "350424", "350425", "350426", "350427",
            "350428", "350429", "350430", "350481", "350500", "350501", "350502", "350503", "350504", "350505",
            "350521", "350524", "350525", "350526", "350527", "350581", "350582", "350583", "350600", "350601",
            "350602", "350603", "350622", "350623", "350624", "350625", "350626", "350627", "350628", "350629",
            "350681", "350700", "350701", "350702", "350721", "350722", "350723", "350724", "350725", "350781",
            "350782", "350783", "350784", "350800", "350801", "350802", "350821", "350822", "350823", "350824",
            "350825", "350881", "350900", "350901", "350902", "350921", "350922", "350923", "350924", "350925",
            "350926", "350981", "350982", "360000", "360100", "360101", "360102", "360103", "360104", "360105",
            "360111", "360121", "360122", "360123", "360124", "360200", "360201", "360202", "360203", "360222",
            "360281", "360300", "360301", "360302", "360313", "360321", "360322", "360323", "360400", "360401",
            "360402", "360403", "360421", "360423", "360424", "360425", "360426", "360427", "360428", "360429",
            "360430", "360481", "360482", "360500", "360501", "360502", "360521", "360600", "360601", "360602",
            "360622", "360681", "360700", "360701", "360702", "360721", "360722", "360723", "360724", "360725",
            "360726", "360727", "360728", "360729", "360730", "360731", "360732", "360733", "360734", "360735",
            "360781", "360782", "360800", "360801", "360802", "360803", "360821", "360822", "360823", "360824",
            "360825", "360826", "360827", "360828", "360829", "360830", "360881", "360900", "360901", "360902",
            "360921", "360922", "360923", "360924", "360925", "360926", "360981", "360982", "360983", "361000",
            "361001", "361002", "361021", "361022", "361023", "361024", "361025", "361026", "361027", "361028",
            "361029", "361030", "361100", "361101", "361102", "361121", "361122", "361123", "361124", "361125",
            "361126", "361127", "361128", "361129", "361130", "361181", "370000", "370100", "370101", "370102",
            "370103", "370104", "370105", "370112", "370113", "370124", "370125", "370126", "370181", "370200",
            "370201", "370202", "370203", "370205", "370211", "370212", "370213", "370214", "370281", "370282",
            "370283", "370284", "370285", "370300", "370301", "370302", "370303", "370304", "370305", "370306",
            "370321", "370322", "370323", "370400", "370401", "370402", "370403", "370404", "370405", "370406",
            "370481", "370500", "370501", "370502", "370503", "370521", "370522", "370523", "370600", "370601",
            "370602", "370611", "370612", "370613", "370634", "370681", "370682", "370683", "370684", "370685",
            "370686", "370687", "370700", "370701", "370702", "370703", "370704", "370705", "370724", "370725",
            "370781", "370782", "370783", "370784", "370785", "370786", "370800", "370801", "370802", "370811",
            "370826", "370827", "370828", "370829", "370830", "370831", "370832", "370881", "370882", "370883",
            "370900", "370901", "370902", "370911", "370921", "370923", "370982", "370983", "371000", "371001",
            "371002", "371081", "371082", "371083", "371100", "371101", "371102", "371103", "371121", "371122",
            "371200", "371201", "371202", "371203", "371300", "371301", "371302", "371311", "371312", "371321",
            "371322", "371323", "371324", "371325", "371326", "371327", "371328", "371329", "371400", "371401",
            "371402", "371421", "371422", "371423", "371424", "371425", "371426", "371427", "371428", "371481",
            "371482", "371500", "371501", "371502", "371521", "371522", "371523", "371524", "371525", "371526",
            "371581", "371600", "371601", "371602", "371621", "371622", "371623", "371624", "371625", "371626",
            "371700", "371701", "371702", "371721", "371722", "371723", "371724", "371725", "371726", "371727",
            "371728", "410000", "410100", "410101", "410102", "410103", "410104", "410105", "410106", "410108",
            "410122", "410181", "410182", "410183", "410184", "410185", "410200", "410201", "410202", "410203",
            "410204", "410205", "410211", "410221", "410222", "410223", "410224", "410225", "410300", "410301",
            "410302", "410303", "410304", "410305", "410306", "410311", "410322", "410323", "410324", "410325",
            "410326", "410327", "410328", "410329", "410381", "410400", "410401", "410402", "410403", "410404",
            "410411", "410421", "410422", "410423", "410425", "410481", "410482", "410500", "410501", "410502",
            "410503", "410505", "410506", "410522", "410523", "410526", "410527", "410581", "410600", "410601",
            "410602", "410603", "410611", "410621", "410622", "410700", "410701", "410702", "410703", "410704",
            "410711", "410721", "410724", "410725", "410726", "410727", "410728", "410781", "410782", "410800",
            "410801", "410802", "410803", "410804", "410811", "410821", "410822", "410823", "410825", "410882",
            "410883", "410900", "410901", "410902", "410922", "410923", "410926", "410927", "410928", "411000",
            "411001", "411002", "411023", "411024", "411025", "411081", "411082", "411100", "411101", "411102",
            "411103", "411104", "411121", "411122", "411200", "411201", "411202", "411221", "411222", "411224",
            "411281", "411282", "411300", "411301", "411302", "411303", "411321", "411322", "411323", "411324",
            "411325", "411326", "411327", "411328", "411329", "411330", "411381", "411400", "411401", "411402",
            "411403", "411421", "411422", "411423", "411424", "411425", "411426", "411481", "411500", "411501",
            "411502", "411503", "411521", "411522", "411523", "411524", "411525", "411526", "411527", "411528",
            "411600", "411601", "411602", "411621", "411622", "411623", "411624", "411625", "411626", "411627",
            "411628", "411681", "411700", "411701", "411702", "411721", "411722", "411723", "411724", "411725",
            "411726", "411727", "411728", "411729", "419000", "419001", "420000", "420100", "420101", "420102",
            "420103", "420104", "420105", "420106", "420107", "420111", "420112", "420113", "420114", "420115",
            "420116", "420117", "420200", "420201", "420202", "420203", "420204", "420205", "420222", "420281",
            "420300", "420301", "420302", "420303", "420321", "420322", "420323", "420324", "420325", "420381",
            "420500", "420501", "420502", "420503", "420504", "420505", "420506", "420525", "420526", "420527",
            "420528", "420529", "420581", "420582", "420583", "420600", "420601", "420602", "420606", "420607",
            "420624", "420625", "420626", "420682", "420683", "420684", "420700", "420701", "420702", "420703",
            "420704", "420800", "420801", "420802", "420804", "420821", "420822", "420881", "420900", "420901",
            "420902", "420921", "420922", "420923", "420981", "420982", "420984", "421000", "421001", "421002",
            "421003", "421022", "421023", "421024", "421081", "421083", "421087", "421100", "421101", "421102",
            "421121", "421122", "421123", "421124", "421125", "421126", "421127", "421181", "421182", "421200",
            "421201", "421202", "421221", "421222", "421223", "421224", "421281", "421300", "421301", "421303",
            "421321", "421381", "422800", "422801", "422802", "422822", "422823", "422825", "422826", "422827",
            "422828", "429000", "429004", "429005", "429006", "429021", "430000", "430100", "430101", "430102",
            "430103", "430104", "430105", "430111", "430121", "430122", "430124", "430181", "430200", "430201",
            "430202", "430203", "430204", "430211", "430221", "430223", "430224", "430225", "430281", "430300",
            "430301", "430302", "430304", "430321", "430381", "430382", "430400", "430401", "430405", "430406",
            "430407", "430408", "430412", "430421", "430422", "430423", "430424", "430426", "430481", "430482",
            "430500", "430501", "430502", "430503", "430511", "430521", "430522", "430523", "430524", "430525",
            "430527", "430528", "430529", "430581", "430600", "430601", "430602", "430603", "430611", "430621",
            "430623", "430624", "430626", "430681", "430682", "430700", "430701", "430702", "430703", "430721",
            "430722", "430723", "430724", "430725", "430726", "430781", "430800", "430801", "430802", "430811",
            "430821", "430822", "430900", "430901", "430902", "430903", "430921", "430922", "430923", "430981",
            "431000", "431001", "431002", "431003", "431021", "431022", "431023", "431024", "431025", "431026",
            "431027", "431028", "431081", "431100", "431101", "431102", "431103", "431121", "431122", "431123",
            "431124", "431125", "431126", "431127", "431128", "431129", "431200", "431201", "431202", "431221",
            "431222", "431223", "431224", "431225", "431226", "431227", "431228", "431229", "431230", "431281",
            "431300", "431301", "431302", "431321", "431322", "431381", "431382", "433100", "433101", "433122",
            "433123", "433124", "433125", "433126", "433127", "433130", "440000", "440100", "440101", "440103",
            "440104", "440105", "440106", "440111", "440112", "440113", "440114", "440115", "440116", "440183",
            "440184", "440200", "440201", "440203", "440204", "440205", "440222", "440224", "440229", "440232",
            "440233", "440281", "440282", "440300", "440301", "440303", "440304", "440305", "440306", "440307",
            "440308", "440400", "440401", "440402", "440403", "440404", "440500", "440501", "440507", "440511",
            "440512", "440513", "440514", "440515", "440523", "440600", "440601", "440604", "440605", "440606",
            "440607", "440608", "440700", "440701", "440703", "440704", "440705", "440781", "440783", "440784",
            "440785", "440800", "440801", "440802", "440803", "440804", "440811", "440823", "440825", "440881",
            "440882", "440883", "440900", "440901", "440902", "440903", "440923", "440981", "440982", "440983",
            "441200", "441201", "441202", "441203", "441223", "441224", "441225", "441226", "441283", "441284",
            "441300", "441301", "441302", "441303", "441322", "441323", "441324", "441400", "441401", "441402",
            "441421", "441422", "441423", "441424", "441426", "441427", "441481", "441500", "441501", "441502",
            "441521", "441523", "441581", "441600", "441601", "441602", "441621", "441622", "441623", "441624",
            "441625", "441700", "441701", "441702", "441721", "441723", "441781", "441800", "441801", "441802",
            "441821", "441823", "441825", "441826", "441827", "441881", "441882", "441900", "442000", "445100",
            "445101", "445102", "445121", "445122", "445200", "445201", "445202", "445221", "445222", "445224",
            "445281", "445300", "445301", "445302", "445321", "445322", "445323", "445381", "450000", "450100",
            "450101", "450102", "450103", "450105", "450107", "450108", "450109", "450122", "450123", "450124",
            "450125", "450126", "450127", "450200", "450201", "450202", "450203", "450204", "450205", "450221",
            "450222", "450223", "450224", "450225", "450226", "450300", "450301", "450302", "450303", "450304",
            "450305", "450311", "450321", "450322", "450323", "450324", "450325", "450326", "450327", "450328",
            "450329", "450330", "450331", "450332", "450400", "450401", "450403", "450404", "450405", "450421",
            "450422", "450423", "450481", "450500", "450501", "450502", "450503", "450512", "450521", "450600",
            "450601", "450602", "450603", "450621", "450681", "450700", "450701", "450702", "450703", "450721",
            "450722", "450800", "450801", "450802", "450803", "450804", "450821", "450881", "450900", "450901",
            "450902", "450921", "450922", "450923", "450924", "450981", "451000", "451001", "451002", "451021",
            "451022", "451023", "451024", "451025", "451026", "451027", "451028", "451029", "451030", "451031",
            "451100", "451101", "451102", "451121", "451122", "451123", "451200", "451201", "451202", "451221",
            "451222", "451223", "451224", "451225", "451226", "451227", "451228", "451229", "451281", "451300",
            "451301", "451302", "451321", "451322", "451323", "451324", "451381", "451400", "451401", "451402",
            "451421", "451422", "451423", "451424", "451425", "451481", "460000", "460100", "460101", "460105",
            "460106", "460107", "460108", "460200", "460201", "469000", "469001", "469002", "469003", "469005",
            "469006", "469007", "469021", "469022", "469023", "469024", "469025", "469026", "469027", "469028",
            "469029", "469030", "469031", "469032", "469033", "500000", "500100", "500101", "500102", "500103",
            "500104", "500105", "500106", "500107", "500108", "500109", "500110", "500111", "500112", "500113",
            "500114", "500115", "500116", "500117", "500118", "500119", "500200", "500222", "500223", "500224",
            "500225", "500226", "500227", "500228", "500229", "500230", "500231", "500232", "500233", "500234",
            "500235", "500236", "500237", "500238", "500240", "500241", "500242", "500243", "510000", "510100",
            "510101", "510104", "510105", "510106", "510107", "510108", "510112", "510113", "510114", "510115",
            "510121", "510122", "510124", "510129", "510131", "510132", "510181", "510182", "510183", "510184",
            "510300", "510301", "510302", "510303", "510304", "510311", "510321", "510322", "510400", "510401",
            "510402", "510403", "510411", "510421", "510422", "510500", "510501", "510502", "510503", "510504",
            "510521", "510522", "510524", "510525", "510600", "510601", "510603", "510623", "510626", "510681",
            "510682", "510683", "510700", "510701", "510703", "510704", "510722", "510723", "510724", "510725",
            "510726", "510727", "510781", "510800", "510801", "510802", "510811", "510812", "510821", "510822",
            "510823", "510824", "510900", "510901", "510903", "510904", "510921", "510922", "510923", "511000",
            "511001", "511002", "511011", "511024", "511025", "511028", "511100", "511101", "511102", "511111",
            "511112", "511113", "511123", "511124", "511126", "511129", "511132", "511133", "511181", "511300",
            "511301", "511302", "511303", "511304", "511321", "511322", "511323", "511324", "511325", "511381",
            "511400", "511401", "511402", "511421", "511422", "511423", "511424", "511425", "511500", "511501",
            "511502", "511521", "511522", "511523", "511524", "511525", "511526", "511527", "511528", "511529",
            "511600", "511601", "511602", "511621", "511622", "511623", "511681", "511700", "511701", "511702",
            "511721", "511722", "511723", "511724", "511725", "511781", "511800", "511801", "511802", "511821",
            "511822", "511823", "511824", "511825", "511826", "511827", "511900", "511901", "511902", "511921",
            "511922", "511923", "512000", "512001", "512002", "512021", "512022", "512081", "513200", "513221",
            "513222", "513223", "513224", "513225", "513226", "513227", "513228", "513229", "513230", "513231",
            "513232", "513233", "513300", "513321", "513322", "513323", "513324", "513325", "513326", "513327",
            "513328", "513329", "513330", "513331", "513332", "513333", "513334", "513335", "513336", "513337",
            "513338", "513400", "513401", "513422", "513423", "513424", "513425", "513426", "513427", "513428",
            "513429", "513430", "513431", "513432", "513433", "513434", "513435", "513436", "513437", "520000",
            "520100", "520101", "520102", "520103", "520111", "520112", "520113", "520114", "520121", "520122",
            "520123", "520181", "520200", "520201", "520203", "520221", "520222", "520300", "520301", "520302",
            "520303", "520321", "520322", "520323", "520324", "520325", "520326", "520327", "520328", "520329",
            "520330", "520381", "520382", "520400", "520401", "520402", "520421", "520422", "520423", "520424",
            "520425", "522200", "522201", "522222", "522223", "522224", "522225", "522226", "522227", "522228",
            "522229", "522230", "522300", "522301", "522322", "522323", "522324", "522325", "522326", "522327",
            "522328", "522400", "522401", "522422", "522423", "522424", "522425", "522426", "522427", "522428",
            "522600", "522601", "522622", "522623", "522624", "522625", "522626", "522627", "522628", "522629",
            "522630", "522631", "522632", "522633", "522634", "522635", "522636", "522700", "522701", "522702",
            "522722", "522723", "522725", "522726", "522727", "522728", "522729", "522730", "522731", "522732",
            "530000", "530100", "530101", "530102", "530103", "530111", "530112", "530113", "530121", "530122",
            "530124", "530125", "530126", "530127", "530128", "530129", "530181", "530300", "530301", "530302",
            "530321", "530322", "530323", "530324", "530325", "530326", "530328", "530381", "530400", "530401",
            "530402", "530421", "530422", "530423", "530424", "530425", "530426", "530427", "530428", "530500",
            "530501", "530502", "530521", "530522", "530523", "530524", "530600", "530601", "530602", "530621",
            "530622", "530623", "530624", "530625", "530626", "530627", "530628", "530629", "530630", "530700",
            "530701", "530702", "530721", "530722", "530723", "530724", "530800", "530801", "530802", "530821",
            "530822", "530823", "530824", "530825", "530826", "530827", "530828", "530829", "530900", "530901",
            "530902", "530921", "530922", "530923", "530924", "530925", "530926", "530927", "532300", "532301",
            "532322", "532323", "532324", "532325", "532326", "532327", "532328", "532329", "532331", "532500",
            "532501", "532502", "532503", "532523", "532524", "532525", "532526", "532527", "532528", "532529",
            "532530", "532531", "532532", "532600", "532621", "532622", "532623", "532624", "532625", "532626",
            "532627", "532628", "532800", "532801", "532822", "532823", "532900", "532901", "532922", "532923",
            "532924", "532925", "532926", "532927", "532928", "532929", "532930", "532931", "532932", "533100",
            "533102", "533103", "533122", "533123", "533124", "533300", "533321", "533323", "533324", "533325",
            "533400", "533421", "533422", "533423", "540000", "540100", "540101", "540102", "540121", "540122",
            "540123", "540124", "540125", "540126", "540127", "542100", "542121", "542122", "542123", "542124",
            "542125", "542126", "542127", "542128", "542129", "542132", "542133", "542200", "542221", "542222",
            "542223", "542224", "542225", "542226", "542227", "542228", "542229", "542231", "542232", "542233",
            "542300", "542301", "542322", "542323", "542324", "542325", "542326", "542327", "542328", "542329",
            "542330", "542331", "542332", "542333", "542334", "542335", "542336", "542337", "542338", "542400",
            "542421", "542422", "542423", "542424", "542425", "542426", "542427", "542428", "542429", "542430",
            "542500", "542521", "542522", "542523", "542524", "542525", "542526", "542527", "542600", "542621",
            "542622", "542623", "542624", "542625", "542626", "542627", "610000", "610100", "610101", "610102",
            "610103", "610104", "610111", "610112", "610113", "610114", "610115", "610116", "610122", "610124",
            "610125", "610126", "610200", "610201", "610202", "610203", "610204", "610222", "610300", "610301",
            "610302", "610303", "610304", "610322", "610323", "610324", "610326", "610327", "610328", "610329",
            "610330", "610331", "610400", "610401", "610402", "610403", "610404", "610422", "610423", "610424",
            "610425", "610426", "610427", "610428", "610429", "610430", "610431", "610481", "610500", "610501",
            "610502", "610521", "610522", "610523", "610524", "610525", "610526", "610527", "610528", "610581",
            "610582", "610600", "610601", "610602", "610621", "610622", "610623", "610624", "610625", "610626",
            "610627", "610628", "610629", "610630", "610631", "610632", "610700", "610701", "610702", "610721",
            "610722", "610723", "610724", "610725", "610726", "610727", "610728", "610729", "610730", "610800",
            "610801", "610802", "610821", "610822", "610823", "610824", "610825", "610826", "610827", "610828",
            "610829", "610830", "610831", "610900", "610901", "610902", "610921", "610922", "610923", "610924",
            "610925", "610926", "610927", "610928", "610929", "611000", "611001", "611002", "611021", "611022",
            "611023", "611024", "611025", "611026", "620000", "620100", "620101", "620102", "620103", "620104",
            "620105", "620111", "620121", "620122", "620123", "620200", "620201", "620300", "620301", "620302",
            "620321", "620400", "620401", "620402", "620403", "620421", "620422", "620423", "620500", "620501",
            "620502", "620503", "620521", "620522", "620523", "620524", "620525", "620600", "620601", "620602",
            "620621", "620622", "620623", "620700", "620701", "620702", "620721", "620722", "620723", "620724",
            "620725", "620800", "620801", "620802", "620821", "620822", "620823", "620824", "620825", "620826",
            "620900", "620901", "620902", "620921", "620922", "620923", "620924", "620981", "620982", "621000",
            "621001", "621002", "621021", "621022", "621023", "621024", "621025", "621026", "621027", "621100",
            "621101", "621102", "621121", "621122", "621123", "621124", "621125", "621126", "621200", "621201",
            "621202", "621221", "621222", "621223", "621224", "621225", "621226", "621227", "621228", "622900",
            "622901", "622921", "622922", "622923", "622924", "622925", "622926", "622927", "623000", "623001",
            "623021", "623022", "623023", "623024", "623025", "623026", "623027", "630000", "630100", "630101",
            "630102", "630103", "630104", "630105", "630121", "630122", "630123", "632100", "632121", "632122",
            "632123", "632126", "632127", "632128", "632200", "632221", "632222", "632223", "632224", "632300",
            "632321", "632322", "632323", "632324", "632500", "632521", "632522", "632523", "632524", "632525",
            "632600", "632621", "632622", "632623", "632624", "632625", "632626", "632700", "632721", "632722",
            "632723", "632724", "632725", "632726", "632800", "632801", "632802", "632821", "632822", "632823",
            "640000", "640100", "640101", "640104", "640105", "640106", "640121", "640122", "640181", "640200",
            "640201", "640202", "640205", "640221", "640300", "640301", "640302", "640303", "640323", "640324",
            "640381", "640400", "640401", "640402", "640422", "640423", "640424", "640425", "640500", "640501",
            "640502", "640521", "640522", "650000", "650100", "650101", "650102", "650103", "650104", "650105",
            "650106", "650107", "650109", "650121", "650200", "650201", "650202", "650203", "650204", "650205",
            "652100", "652101", "652122", "652123", "652200", "652201", "652222", "652223", "652300", "652301",
            "652302", "652323", "652324", "652325", "652327", "652328", "652700", "652701", "652722", "652723",
            "652800", "652801", "652822", "652823", "652824", "652825", "652826", "652827", "652828", "652829",
            "652900", "652901", "652922", "652923", "652924", "652925", "652926", "652927", "652928", "652929",
            "653000", "653001", "653022", "653023", "653024", "653100", "653101", "653121", "653122", "653123",
            "653124", "653125", "653126", "653127", "653128", "653129", "653130", "653131", "653200", "653201",
            "653221", "653222", "653223", "653224", "653225", "653226", "653227", "654000", "654002", "654003",
            "654021", "654022", "654023", "654024", "654025", "654026", "654027", "654028", "654200", "654201",
            "654202", "654221", "654223", "654224", "654225", "654226", "654300", "654301", "654321", "654322",
            "654323", "654324", "654325", "654326", "659000", "659001", "659002", "659003", "659004", "710000",
            "810000", "820000" };
}


你可能感兴趣的:(生成全部可能存在的身份证号码并写入solr搜索引擎,及搜索查询结果)