菜单

Java:查询es数据库并写入本地

2019-05-06 - 代码整理
package com.hsmap.mainpackage;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import com.google.gson.Gson;
import com.hsmap.util.TextUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.PairFunction;
import org.apache.spark.api.java.function.VoidFunction;
import org.elasticsearch.spark.rdd.api.java.JavaEsSpark;
import scala.Tuple2;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import java.io.File;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;


public class MainCleancity {
    public static void main(String[] args) {
        SparkConf sparkConf = new SparkConf().setAppName("Resolve").setMaster("local[*]");
        sparkConf.set("cluster.name", "es");
        sparkConf.set("es.index.auto.create", "true");
        sparkConf.set("es.nodes", "192.168.100.100"); //es集群节点
        sparkConf.set("es.port", "9200"); //集群端口
        sparkConf.set("es.index.read.missing.as.empty", "true");
        sparkConf.set("es.net.http.auth.user", "chentx"); //访问es的用户名
        sparkConf.set("es.net.http.auth.pass", "KNB2pMQo0Y08"); //访问es的密码
        sparkConf.set("es.nodes.wan.only", "false");
        sparkConf.set("es.mapping.date.rich", "false");
        sparkConf.set("es.batch.write.refresh", "false");
        sparkConf.set("spark.kryoserializer.buffer.max","128m");
        JavaSparkContext jsc = new JavaSparkContext(sparkConf);
//        readNestedAndWrite(jsc);
        // String s = investNameToNew("刘芳,医学本科学历");
        // System.out.println(s);

//        String str = "呼吸\t神经内科\t肾病\t消化\t泌尿外科\t普通外科\t妇产\t皮肤性病\t麻醉\t医学影像(诊断\t治疗)\t医学影像(核医学)";
//        String str = "耳鼻喉\t急诊医学(中毒\t感染)\t口腔\t肾病\t血液\t肿瘤\t神经内科\t普通外科\t泌尿\t妇科";
//        String regex_1 = "[^()]+(\\([^()]+\\))?";
//        Pattern compile = Pattern.compile(regex_1);
//        1诊断  治疗
//        2 = 1repalce()
//        str replace(1, 2)
//        readNestedAndWrite(jsc);
//        enrich_major_list(str);
        deal_date_time(jsc);
        jsc.close();
    }

    private static void deal_date_time(JavaSparkContext jsc){
        Map<String, String> readEsMap = new HashMap<>();
//        readEsMap.put("es.query","{\"query\":{\"match_all\":{}}}");
//        readEsMap.put("es.query","{\n" +
//                "  \"query\": {\n" +
//                "    \"terms\": {\n" +
//                "      \"medical_id\": [\n" +
//                "        \"0b609e9ecc25f932b22bf9a5d38bd163\",\n" +
//                "        \"ebba29d88913c2bc0c6c87ad6627d05b\",\n" +
//                "        \"b45447dcda738bf0e54f488404991f46\",\n" +
//                "        \"bd9b6202f390f7cd8a8f912cf901520e\",\n" +
//                "        \"60e5928d4605e072815c36962e790170\",\n" +
//                "        \"1e5837f6e12c74925c52e43eda22ba19\",\n" +
//                "        \"f0c017c870c7e2b973b5f502db09f079\",\n" +
//                "        \"1b0ea6b0f00dceb0fac6f5a09d54a814\",\n" +
//                "        \"a7bfc83151d1059a96fb07b395149233\",\n" +
//                "        \"2dcacbb921d3a928bbe2057b47fe753c\",\n" +
//                "        \"50466809e4bf32a4cbb43908a37275c2\",\n" +
//                "        \"d8d518e442382a76aa168dae9b8db309\",\n" +
//                "        \"f3df64c050e55ad568aa8dd46c9d3ebc\",\n" +
//                "        \"e0e3660bdcfb1b11e95b256a7d9f574b\",\n" +
//                "        \"8b549d31148f9bfeb71fe023253c0b3c\",\n" +
//                "        \"9dbb4b277471bdd4af55f0d3c590a94e\",\n" +
//                "        \"73f9bfdfb60ce766c51f6c312013ca2c\",\n" +
//                "        \"15606443c4eb671165e7bab0f22c210e\",\n" +
//                "        \"1fc4572faa1ad9d6fe8bd0f3344afdcb\",\n" +
//                "        \"d44989e851dd195d32335224f7a7be5a\",\n" +
//                "        \"717c29e08aa9b7b2a1a7b2b4d53490f4\",\n" +
//                "        \"60706eb011d581a789d4b019995a1cc0\",\n" +
//                "        \"ad8fe095138711c7d79243045c344fc3\",\n" +
//                "        \"cd0725b44b511bdad9b58f39b39583dd\",\n" +
//                "        \"7e481a2f32f1575b4151ce620a5e54f8\",\n" +
//                "        \"0a3b09be9959d51a00f62e4d20396aa5\",\n" +
//                "        \"97bd9f16d6be63ef08917b363481e35e\",\n" +
//                "        \"14541cb90172f408cf4ebd8256b34825\",\n" +
//                "        \"e8d8b067468db6291660a651ac785f4e\",\n" +
//                "        \"32a2b5933b26588b3be3d6b831829544\",\n" +
//                "        \"365e5fa14667e7e75d3d74de8f488bcb\",\n" +
//                "        \"a3dbbdb78c03fa064a72e4aaddbe7134\",\n" +
//                "        \"8ae38847133fa1237bd2b0a895cc711e\",\n" +
//                "        \"7d2335159f6e19dfe48d9ad9a5637b96\",\n" +
//                "        \"505258b1d86015674d379eb1fcb8e75d\",\n" +
//                "        \"f0fdfba65d10f930169b44fd8f10509f\",\n" +
//                "        \"2962cce6f5eb3dc2c621f1b087e048a3\",\n" +
//                "        \"5aa811e8a56b2ef04c14801285bc0b79\",\n" +
//                "        \"bc28f66c8a4364c2ce7c114a583323a1\",\n" +
//                "        \"67a06a61e4d12ea51f1a3b1cce0a6b09\",\n" +
//                "        \"7d7e25f243d523d9c6730571b5563468\",\n" +
//                "        \"dfb48ddd5923e4e399bacd545204828b\",\n" +
//                "        \"a099d4ae1eafd72a6d52d5f4335bd62b\",\n" +
//                "        \"7a9c19f32f0095aaa6ec564e063f9c51\",\n" +
//                "        \"af9842641bfafabc8505508a57b41fd5\",\n" +
//                "        \"bacb581131fa1220a2ed5efd54814550\",\n" +
//                "        \"df1f7b543fc6f6bb34b55f3cf39dc268\",\n" +
//                "        \"4b94bfd1aad43af1659bf96491fbdd12\",\n" +
//                "        \"e6d28d1cfbbe47944f910943867af20d\",\n" +
//                "        \"8dda8b57e6113dccdb8430018398b2f5\",\n" +
//                "        \"613d5002179482ef4ad077ca5907374b\",\n" +
//                "        \"457a24185fb1598b55a4c8fe62aabae7\",\n" +
//                "        \"8de7e482719962c0e7eb7a98a2f4734b\",\n" +
//                "        \"0c65c558b65d22fbd6daca46e79c023a\",\n" +
//                "        \"4632bd99ebe503ab784bcf5516d251dd\",\n" +
//                "        \"20efebed685200949d410e024338c189\",\n" +
//                "        \"2add8d3ba169daf5c2e3d4f0096754e2\",\n" +
//                "        \"28b1920c39cc381f2d5ae2a1d0242f40\",\n" +
//                "        \"7889d24a8cd9680ccd80cb43d6231121\",\n" +
//                "        \"42fa412d30da803ed080050cdc1d3f22\",\n" +
//                "        \"d22881d200a4d779bf69c480c5cd77f0\",\n" +
//                "        \"cea9b3bc6c5d89c48781713128409aa9\",\n" +
//                "        \"d128b197bb58892d863f8621d1c27b28\",\n" +
//                "        \"d40c64e6a59977ed70a0763056714515\",\n" +
//                "        \"ac8eb018569274911326a493f38a4e19\",\n" +
//                "        \"439fe9c37d63f63d53c3ff37f5947c4f\",\n" +
//                "        \"22f92b7cc7578afa5003ae3d62534b0e\",\n" +
//                "        \"45c14a75ac9ab84e9b1f778bad520cb9\",\n" +
//                "        \"26ff77d1a9b9d6f11ed33b06a58e9b12\",\n" +
//                "        \"540e263b5d86936ace12824cebd84d82\",\n" +
//                "        \"0a48358ab401c408453c2f57c6c04457\",\n" +
//                "        \"96d24394c05323a6c3dd16a65f5f9a9e\",\n" +
//                "        \"d4cbd8bbc9fd6203858ba6c032852a4d\",\n" +
//                "        \"2d1f0c60a23a21a10bd855f099a281b5\",\n" +
//                "        \"6ca0971a4dcffd1b1b35ce900848d33b\",\n" +
//                "        \"28f5fa8f408d6028251b3d421cc17d66\",\n" +
//                "        \"ed3c521c9dc3d599a1297e414bbd2b39\",\n" +
//                "        \"750455aba23a54ef59d519a27cb04209\",\n" +
//                "        \"ac9acbb9143275e6afdb11612569a9c7\",\n" +
//                "        \"7da5bca27fb33ecf9b2174c8aa0fbef9\",\n" +
//                "        \"85485f98a94064cc833105a448e1432b\",\n" +
//                "        \"f74382dcddfa8c5b10b836d16a0835e7\",\n" +
//                "        \"64c0c626df0725a14ab7b97c04573344\",\n" +
//                "        \"29e70e0bca95ce47124b91c204aa9da7\",\n" +
//                "        \"8dc1018c08044eb5b7d0ebb031a9c3bd\",\n" +
//                "        \"42a7d60b6b5fe4b5dc2fe86fefadfce4\",\n" +
//                "        \"3bb7a9d4eccc342760e74e3307b6c02a\",\n" +
//                "        \"12c7aa43f0d60b257a294d2958b36e22\",\n" +
//                "        \"e013b8c6defc9d4d5e41166bae689237\",\n" +
//                "        \"596d6d707107ba7301baa9be708d8e61\",\n" +
//                "        \"a866d313e6d2c9199309aba545e955a9\",\n" +
//                "        \"f6a07818e7ec46d350e76c5e155f3f43\",\n" +
//                "        \"09f7b2fa5c33afa8d3c2bcb0357c3a7c\",\n" +
//                "        \"4673a7590ca369c457ffb6ad5f7726ad\",\n" +
//                "        \"5ba53f0b2437b16ef64987a7f29147f7\",\n" +
//                "        \"d8d1a684bd5ac1dfed292306232436dc\",\n" +
//                "        \"edc15aea0d8bdda781eb2180a64f972e\",\n" +
//                "        \"f7fa44bd041b6a0b5d606df0b8cdee87\",\n" +
//                "        \"b6fbe325972aac907388e1436bccb8c1\",\n" +
//                "        \"9bf4310c82742dad9fc39b8a79a8ffb0\",\n" +
//                "        \"8d7765d7e2a50fcf922eac0fdfad6cc1\",\n" +
//                "        \"3ce3bbe27b4e168412cc5c7085f6949a\",\n" +
//                "        \"599d22fa369029830edbaa7e8cb04989\",\n" +
//                "        \"ad9432b08c792054725db7d9bbc8f758\",\n" +
//                "        \"2e774e587b133f5ff7b993a614a6e034\",\n" +
//                "        \"a6f497fc42c701cfd26dc48e62797286\",\n" +
//                "        \"4f20b7e9ff9d1743aba62d9d4e2e6cb8\",\n" +
//                "        \"72c3922c178bb6f00772cc8e90fda148\",\n" +
//                "        \"40e771bed82893d361ba815d9036ccce\",\n" +
//                "        \"d1ceac52dbee6c2dbbd2bf1d10b7ee06\",\n" +
//                "        \"80c108e9436caa97446e489b4f0d58ee\",\n" +
//                "        \"a4e74346865f93da016d859e0d066751\",\n" +
//                "        \"824fb11eb510ee5b74ab7fd1560c7c46\",\n" +
//                "        \"30394828db23175ac013a0304ef2cec1\",\n" +
//                "        \"db8b9b4664e7113333d1b5dbcbaa58ab\",\n" +
//                "        \"3b2038243aecc0441e8786e67eb7fe1d\",\n" +
//                "        \"867d7f118ace4c03cb57e1953298ee4a\",\n" +
//                "        \"5c2a6d8fbbf28a7df21bed3c09147806\",\n" +
//                "        \"884b508e93472fdce5e75c9f4d14d56d\",\n" +
//                "        \"4ba814f35f8fb0293336143e08d1d34a\",\n" +
//                "        \"8dc251e821ccb3da3ce9e1e9b43d89cd\",\n" +
//                "        \"eb6527bee26b8e8eaed4a3cc077440ed\",\n" +
//                "        \"7ab0e46daa5534444745167faece8347\",\n" +
//                "        \"9aac65b157b4239b9260d3d7a235719c\",\n" +
//                "        \"d1cb71963d50b3639065b1744ec2f5ff\",\n" +
//                "        \"1fc8d581525ae952fce3d392d1206a1d\",\n" +
//                "        \"6181fdf70c9703d66055d2553c8cbe18\",\n" +
//                "        \"b9f9bd2c158eb498a0f77a81ad601c19\",\n" +
//                "        \"d134c7fb6cdf509bf016bb858a672603\",\n" +
//                "        \"4f0308e1198f00fae5aab3f6c05f12b2\",\n" +
//                "        \"86c6fc65105d6155bf27b6facb27caac\",\n" +
//                "        \"b53dc4feb9310b88ffc090da4d7e8aef\",\n" +
//                "        \"e85882c8f399713b0cb8300f1fb1814c\",\n" +
//                "        \"f94d58a3d0d58701fca5ab51aef8743f\",\n" +
//                "        \"ad658a98a0b1e4fd1ff2818f8242eaf0\",\n" +
//                "        \"40be6ffe19b22a8053e1b00a9ae4ec55\",\n" +
//                "        \"6c73ae7644e8be01a734ecf40306de6c\",\n" +
//                "        \"82b980fed1c58a468f6e04b9cc76f71b\",\n" +
//                "        \"1f18d53c9fa4f782279ae7b352d0189f\",\n" +
//                "        \"1420205cbcda7e55b5df6163d8ef4eb9\",\n" +
//                "        \"5ef9eb5a7d6247090563dc4d0e95717e\",\n" +
//                "        \"9b0388b25a5fe5ac621fa09a05ee1683\",\n" +
//                "        \"faaf68c111d875997f90ff30532814f6\",\n" +
//                "        \"7a279fdcfe344683038792ca5d2e965c\",\n" +
//                "        \"7f57b3d5e675c6f4c65b9dea28b6eec2\",\n" +
//                "        \"89d01f1f784c6fc8aaad0333d38e95c4\",\n" +
//                "        \"e815bcf8b277d98ab91b961ae0492e65\",\n" +
//                "        \"b12e936a2353bd405d82db7cbdd04b29\",\n" +
//                "        \"4a0a263c9bb8585330232bfc2acb1274\",\n" +
//                "        \"e688b9d51fbfacc5d1a606fa6ff06506\",\n" +
//                "        \"f98aa0f15aea0deb6f279fbbfd76ecdb\",\n" +
//                "        \"48936b4f9107176b4ab19c70b6c5d6a0\",\n" +
//                "        \"b2355e7bf574f9a1cdb4ad2d6165b060\",\n" +
//                "        \"0b30d43d714f882c151d530b682ef90a\",\n" +
//                "        \"23dc3e4270d0c311e9e1dd830ebd636e\",\n" +
//                "        \"a02bf12deeebb777612580a170fe59eb\",\n" +
//                "        \"474ab5352b1821694995820050eefdc1\",\n" +
//                "        \"5b84baafe59689320b333a17e21b5963\",\n" +
//                "        \"913781b47c0aac8da6aa0eaa0859a099\",\n" +
//                "        \"6fdedb4eda2ff2b4ffe0c21f195cf06c\",\n" +
//                "        \"f2f990547dba3bdc198f26dd4fd94ee7\",\n" +
//                "        \"856f9ad9300f7e3a771c827656ab6323\",\n" +
//                "        \"dfd02e714067803b8a0832cdcb268509\",\n" +
//                "        \"27de639a4d1e2c212865cac17750ddd3\",\n" +
//                "        \"97086cc00cf3a4a838fec3cbbaef9058\",\n" +
//                "        \"913b0bdacef1b1ce97c0f09bad2b01fd\",\n" +
//                "        \"f6ee7f6abdd997239d87d62a13caafe5\",\n" +
//                "        \"c3c6c9b3c95ed2d337698c5a8f142740\",\n" +
//                "        \"ec81ff5f0e43bbfad501ac0457ea226c\",\n" +
//                "        \"1aec06bee9a8330d69826106e9514c74\",\n" +
//                "        \"47d3f6a86602ea3d669a4d2629ffad42\",\n" +
//                "        \"9fd997fadf47102e547799db910f164d\",\n" +
//                "        \"f56482c286910049e55c3a9eeca45d51\",\n" +
//                "        \"6b0cb07712a6f5456f78fd552cd030ed\",\n" +
//                "        \"eed55475fcfe336a67ff68b3fa4ae45b\",\n" +
//                "        \"f91053cfdbf5068b5894819ea4baa499\",\n" +
//                "        \"803e3d729da5b42591528a4bad9e9b78\",\n" +
//                "        \"328e9a7dcfa3834e15a448dea1b47325\",\n" +
//                "        \"75a58d89b64e2013bd213262a8b62c47\",\n" +
//                "        \"5e8606e5f9c83772069ea89a6ed553c5\",\n" +
//                "        \"8b0c605802201229c8f9be3596311c82\",\n" +
//                "        \"4913306526f39fbd245ab213ed8be24a\",\n" +
//                "        \"5da944c553bdebd7f7ea980c16d67e40\",\n" +
//                "        \"17767167e2947ede0ab85c863987ef45\",\n" +
//                "        \"5b3c70bac5e799edf0219033f25b7f99\",\n" +
//                "        \"80cb048b33a37770bab025b915c6d67c\",\n" +
//                "        \"586f88061dae91c1a0c321f76ff7429f\",\n" +
//                "        \"61f74fe854b2a3af86815f6d0df4586f\",\n" +
//                "        \"fb21a5cf751f629a8fe1aa80e9dfac3b\",\n" +
//                "        \"380988d69d7cdf416766e22b30a60d6f\",\n" +
//                "        \"36cbb38daf6bd226ecd1e92316d2f0d2\",\n" +
//                "        \"e5a897f25d1585883b5edab84c67fdad\",\n" +
//                "        \"95da0cada8ca29f8e2aac9b669e4819f\",\n" +
//                "        \"06fa6c55b07c596385e9a99d90165a12\",\n" +
//                "        \"7d9f13d69d257ea107787d263e0b9c9a\",\n" +
//                "        \"9cf6dfc30bebbfea206985ce2f5c980d\",\n" +
//                "        \"56832e0ae13f45568806cadcbff18f8d\",\n" +
//                "        \"45999be8a2ebcf40ea1db9985768656d\",\n" +
//                "        \"e1d84d9de0c443ff0f0287081db9319e\",\n" +
//                "        \"3b4aef1cd713a8fe96b0203b2747feff\",\n" +
//                "        \"618cc1ef4483f96c00cdbf80edd3c864\",\n" +
//                "        \"729e3cfcf8c4dfccc79081b397a76920\",\n" +
//                "        \"eb725b7b0edde8ced7d3892be8cec4ca\",\n" +
//                "        \"214478e2228c6e73d834a6970fc93af7\",\n" +
//                "        \"98afcc6aa4306eb6e54cda88c545f761\",\n" +
//                "        \"0a5552810c3fd749ee2831d6e25e70f6\",\n" +
//                "        \"b40854394b1aaa128f6953e52e75c4d6\",\n" +
//                "        \"d9b4cdbe60d927c71fe5b28ffe8f31cc\",\n" +
//                "        \"23e460779ddca15d2ac46b6f1b441da1\",\n" +
//                "        \"7d3912090b6592110091e89c871f960a\",\n" +
//                "        \"91a15ef46618d89b7dec2bc9765d14c9\",\n" +
//                "        \"dd13440abedec6803e6a911675b98d57\",\n" +
//                "        \"04ca4fe381d089c1bdd002599548afe2\",\n" +
//                "        \"08a29a6e978bec5631cc0d94c0fc24c9\",\n" +
//                "        \"9f38d3bba3e54215bb7bd15230483313\",\n" +
//                "        \"8d96660c9018086ff30284ca55f75f7d\",\n" +
//                "        \"fe43a7286d01f81bb161b1b6c3939294\",\n" +
//                "        \"f328a76c25842cbc33726dae9134a0db\",\n" +
//                "        \"baaffae1f71cd91a3b4520bf70ea27be\",\n" +
//                "        \"9e81d0e0fa99c61fdc3d48915abf5ed3\",\n" +
//                "        \"55d0b6bdbf0dcc2f96f5146660ee8a92\",\n" +
//                "        \"116f87a07877e8b9634453b8418c17e5\",\n" +
//                "        \"57ba3b1dcf7d54082b320731a0d57a72\",\n" +
//                "        \"a2a8819ba52354a0bac4523511d72ab6\",\n" +
//                "        \"59ad439eef20521ef7216ecdc997b0ce\",\n" +
//                "        \"848ab41e499d29d0b7c58c2fe1998f09\",\n" +
//                "        \"fba4a1c69c90cce0d4361648bba5c2f4\",\n" +
//                "        \"f13354baad7844d7ca9b544c18d09dfd\",\n" +
//                "        \"89bf62d0c7fa65d976fa359f213f0483\",\n" +
//                "        \"fedf223ba03576bc5ceac529437764c2\",\n" +
//                "        \"aba57c307a71138af4f7c765ab8fa105\",\n" +
//                "        \"a5691396d49d1bd94805960d00fb6d5f\",\n" +
//                "        \"3686d0c13ecf3f59064654d930aeed04\",\n" +
//                "        \"1c1c09f19846b78d0507c50e4e05d2b0\",\n" +
//                "        \"805b143e711d24e3a673b1c12379afc0\",\n" +
//                "        \"d8133eaf68a19c151693512fd4e3af26\",\n" +
//                "        \"d82dcc3394f1238398ff61eae2eb8db4\",\n" +
//                "        \"f42d6279de4c097c5f4a028f58de987a\",\n" +
//                "        \"6a02fbdea6b6428d651231f935b75c7a\",\n" +
//                "        \"fe3fc31f288dcdfe8daa3e81b57c530a\",\n" +
//                "        \"3f2e3ec9f8fbb26ce0d9bb9125ccec66\",\n" +
//                "        \"3ce8351055755debe665844ee453dd88\",\n" +
//                "        \"b36d51aea970a813c011845ce989d8fd\",\n" +
//                "        \"16b3d83570f0b923bfac68175cfd352c\",\n" +
//                "        \"421346cd137c48751181ed5c4b9c0d6f\",\n" +
//                "        \"f4602125d71b81be4a054877971a111e\",\n" +
//                "        \"18b2f315cc7bb34694d91c9bcc541b0c\",\n" +
//                "        \"f75f97c0303ae01a86fe3bae1ef5ecda\",\n" +
//                "        \"8dae51da88b1e2851c8ef3cc1dd8dfc2\",\n" +
//                "        \"c781096e399b02045301b1cd19f03ba5\",\n" +
//                "        \"39526fbaa0e250fa29175dfc97ef1d7c\",\n" +
//                "        \"690f1783cea0bcc0829c8dda498f7c8d\",\n" +
//                "        \"3e4cca5ddf62859363c91e9b3047fb5e\",\n" +
//                "        \"9183b8ad4a155f1312bffce091da0be2\",\n" +
//                "        \"b8f6e72fe057551c6cbf40ef02c5a2c2\",\n" +
//                "        \"ee40dda2ca7d238d5b5f10cd31361736\",\n" +
//                "        \"d1ceeeced8f069ab4bb431cceb8b2de8\",\n" +
//                "        \"74bf90314effb7fa47b77da32f1c1ef4\",\n" +
//                "        \"ca197cc9377c4b66d18098c31fcae8e3\",\n" +
//                "        \"0c39c3d5e3a1be33dae8d36dca9b941f\",\n" +
//                "        \"ae3aeb66fc52ea9ee61645c87f496c80\",\n" +
//                "        \"631d4b02cb48a00e2200a00f49abf2d1\",\n" +
//                "        \"21651887872ac921d4c5e2f1da07b032\",\n" +
//                "        \"2b5c37aadfcc981a71e783bbcedf88f9\",\n" +
//                "        \"aa3d89ab4b977e2bce82c5b79fd721c7\",\n" +
//                "        \"ea6dec33400c0eda4fc37dc498fb658e\",\n" +
//                "        \"bef481c3bf02b926dea11c2565ee0378\",\n" +
//                "        \"d54380d076fe8d46337612a6a8c524f6\",\n" +
//                "        \"24f9fdd6c8527657576b939577ed1673\",\n" +
//                "        \"1bd4509e12c461cf4bd7c5ecad38fbdc\",\n" +
//                "        \"6cb871732e48ab42230a5805045e57af\",\n" +
//                "        \"d135c4f9363ad01e5168f062719a0296\",\n" +
//                "        \"952003b7848165a48e9ebe6a54c103bd\",\n" +
//                "        \"ff704eec813983696c90049a086181f8\",\n" +
//                "        \"6c2cfa2d90ea5b52807502c1f02fa347\",\n" +
//                "        \"f8816329d702cc5cf16a3d272d671648\",\n" +
//                "        \"7d78b2aa6b084817b3b1085464336b86\",\n" +
//                "        \"dda1a1231375311527787a39850fd8d1\",\n" +
//                "        \"e4e9c3ce1a0a1b396c178fb76edb6153\",\n" +
//                "        \"c79803b16de574bdbba66de70f7b59e1\",\n" +
//                "        \"80bf83762262efc0bfc67014c916f1d7\",\n" +
//                "        \"8ac625778cef60b89fe8f4a59e0466bf\",\n" +
//                "        \"2481403d6f0eef5affa5a0e71f7d8c8c\",\n" +
//                "        \"335a78b49f238ab56d64dac1a5019732\",\n" +
//                "        \"1cfdad131e921893ddf20348491f104f\",\n" +
//                "        \"d7dc5e45793c7c660186a75c9fdcf3d8\",\n" +
//                "        \"dbed5203f4e93a5f44e502edc2c3dae6\",\n" +
//                "        \"f3fa8544b0df27b08de484ece7af9b22\",\n" +
//                "        \"97f1f95795dcc457b6cd41ef38e2e3f4\",\n" +
//                "        \"535f9eff35d505dc7870d0223372317e\",\n" +
//                "        \"5a65cb73edf228e43e5ec7a0d9e35d11\",\n" +
//                "        \"c652fa1f543a5aac3c54e4f303d95fd8\",\n" +
//                "        \"58f344af596019a9ff7a969412dc4ae5\",\n" +
//                "        \"dc427f2c95d824c9e22f083b6d2eb9ff\",\n" +
//                "        \"8be7987281d0a189c953281070d702a3\",\n" +
//                "        \"aba0d9a11b241e860096c2fcd227cf2f\",\n" +
//                "        \"b0cb73619a9b58f49acc1b942a40e351\",\n" +
//                "        \"a21a3ccf3416cf1bbc5c8fdeb33de353\",\n" +
//                "        \"d05303c7d505dce2fe25e8c213e955e8\",\n" +
//                "        \"c98a199fd7d3ad9a8158979bf464487a\",\n" +
//                "        \"ff49db156c7fcb0e45fc83cab0b04edd\",\n" +
//                "        \"03a259fb06f21adc33a3f9e07b3c3e4d\",\n" +
//                "        \"047426b99b8b6b329f80147657893db0\",\n" +
//                "        \"055ba8d45f10841eab7d54eb6cec11a7\",\n" +
//                "        \"061df8fe301775e4bcc8e7b04d7892cb\",\n" +
//                "        \"0641bb30e105de66d413de6e04c0ca9d\",\n" +
//                "        \"06d23bce61732b8f1e033884834f1d3a\",\n" +
//                "        \"06e27b3d297ac20a2cb921f1311ea43d\",\n" +
//                "        \"075a2a31c11d54ca7c76939bab614d6b\",\n" +
//                "        \"0938cd49fb8a3a4003a463eba446b218\",\n" +
//                "        \"09f97118b13cb96a197eeb4b692270c8\",\n" +
//                "        \"0fbab8066889e534bfd04910b0a2792d\",\n" +
//                "        \"16219b8c6d70cb2b295f319a0fa2a738\",\n" +
//                "        \"16b67037d3f018deaeaf8cf31a1698c7\",\n" +
//                "        \"1c1a175f416cd0b9a25714e6575d034f\",\n" +
//                "        \"1d9ab4fe794be00836aa3d1fe6b51e5f\",\n" +
//                "        \"1ff7f3236545c92283aa905b8db806b9\",\n" +
//                "        \"28182a6043fb4fc1555bec1535a18a0e\",\n" +
//                "        \"2a5fc0e81de4a30798c0e5a2d91183e0\",\n" +
//                "        \"2c218639bc1be757d772e52059aef01a\",\n" +
//                "        \"2c4e6b8fd1caafc31f4aa6196762fdec\",\n" +
//                "        \"2e8bb380ac30557121cc07cedef84e43\",\n" +
//                "        \"317bef2d7a514e78469f9856d7cc6aac\",\n" +
//                "        \"32b96c7d6a9d9a71af9c8c666cc98f86\",\n" +
//                "        \"333ec0ccc9132edff049b062d728906c\",\n" +
//                "        \"35f3156025c3379c9a769f1c5b75681e\",\n" +
//                "        \"398b2afb6dd2668d89a97f1c6ec7d170\",\n" +
//                "        \"39ad613cfe96b46dab06322931e62917\",\n" +
//                "        \"3abcf3b1c1b6cd788d393e2bd26045de\",\n" +
//                "        \"4b827e48bb2964e94d957f378d548471\",\n" +
//                "        \"54f74227018a100920d145cef076bd14\",\n" +
//                "        \"55457be300f468b1ea52b7d45188866e\",\n" +
//                "        \"59bd4f636fafc61c2e9bceaa02b0b801\",\n" +
//                "        \"59f3aa9551efd16bc7e2eafcdc7ab0d4\",\n" +
//                "        \"5e06b76ebb9568fe9b0da6b7c40e5f76\",\n" +
//                "        \"5f01929e04804a97aa8795ed652b5eff\",\n" +
//                "        \"603610024356083e6815d823ee03a38d\",\n" +
//                "        \"63aacf268607dbd2a80b97932ac0c24d\",\n" +
//                "        \"661fa1b6bcf42feda1fb16d9f3e0541e\",\n" +
//                "        \"6febf9776570657b0dc868f27e15f070\",\n" +
//                "        \"7043788eb621c224b6c5bbc67d534ac3\",\n" +
//                "        \"70b8b55da7d27d0ad9cd3c58edc44e9e\",\n" +
//                "        \"7688d190a877f2f6d016e6f1760ae59c\",\n" +
//                "        \"76e4a720a0249e02650a5bf927c2caf9\",\n" +
//                "        \"7840229cc165ab7786a2c52c9d9fe9f8\",\n" +
//                "        \"84b20cfc55a6d6f967a92d376ea289e1\",\n" +
//                "        \"949480754c00b714fdbdb1e0cd067770\",\n" +
//                "        \"97d76858c64e8891efd5845a6aa1fe8a\",\n" +
//                "        \"a13aed521d7a073be065d96a19fc6bcb\",\n" +
//                "        \"a3399f749bded59901c9680869af1ba7\",\n" +
//                "        \"a4d14f379f1333d9541f41ffc169decc\",\n" +
//                "        \"a5b509775d3ba88d5ea994965c3495b4\",\n" +
//                "        \"a7969d42cf37bc25d4b979e766548f13\",\n" +
//                "        \"a877a624bb990607aa36904b89ecbb11\",\n" +
//                "        \"aa73fdb54b6cecfca93815863d0ce774\",\n" +
//                "        \"aaa4d37e953adb58bc9deedd35a32e9d\",\n" +
//                "        \"ac46e2e258ff2ae996f7d7956f16b28a\",\n" +
//                "        \"ae261072db38265bbbd71c546309c838\",\n" +
//                "        \"b1e8b65b6f734190d4e7ffe1b9c0cce0\",\n" +
//                "        \"bc73e7cab1d79ecbc11cf0d2aa420c59\",\n" +
//                "        \"c1d73e7d230e4851f7e55e65d13d1925\",\n" +
//                "        \"c5e572cafe877bba85881c17f6529838\",\n" +
//                "        \"c7f9a6456aebb494dd56678102c5c3b2\",\n" +
//                "        \"c96e3a72fd9b5fabec6ae6d48744e28e\",\n" +
//                "        \"d0fbfb495aef9c2d12faae43c39cc4ca\",\n" +
//                "        \"d27e98d1d8cb990ddb1ea1a970b118f6\",\n" +
//                "        \"d6fe0be96e1637d5f74a73c4649ebc5b\",\n" +
//                "        \"d737b09de5e54550e53fdf15d20cb70c\",\n" +
//                "        \"db03c7c71087e5c71a0ae1a165bf34d0\",\n" +
//                "        \"dd58366eaeaada64ec15511dc66caf2c\",\n" +
//                "        \"e1aba608a398e1fa4f74283bb79d35cd\",\n" +
//                "        \"e69b305fa7d087a8425686dfb30c9350\",\n" +
//                "        \"efa6fece9e66e9d68295f17462452dd4\",\n" +
//                "        \"f2b0ea13ea8ef6e7c321a7e1b527b79a\",\n" +
//                "        \"f2d5e26e7e8a22c2b293fba6e8e55f87\",\n" +
//                "        \"f4e38bfdd33fd3588f253ebefc6eaff2\",\n" +
//                "        \"ff6dedebe09b60f3aaef7e03699f976f\"\n" +
//                "      ]\n" +
//                "    }\n" +
//                "  }\n" +
//                "}");
        readEsMap.put("es.query","{\n" +
                "  \"query\": {\n" +
                "    \"terms\": {\n" +
                "      \"pmid\": [\n" +
                "       \"26720029\",\n" +
                "       \"25536254\",\n" +
                "       \"25038372\",\n" +
                "       \"25803346\",\n" +
                "       \"25038355\",\n" +
                "       \"24756516\",\n" +
                "\"25038354\",\n" +
                "\"27179849\",\n" +
                "\"27218629\",\n" +
                "\"25038359\",\n" +
                "\"27552618\",\n" +
                "\"26103028\",\n" +
                "\"15364188\",\n" +
                "\"16257340\",\n" +
                "\"15464183\",\n" +
                "\"15910950\",\n" +
                "\"15836888\",\n" +
                "\"15950714\",\n" +
                "\"15325832\",\n" +
                "\"16039331\",\n" +
                "\"16226614\",\n" +
                "\"16154016\",\n" +
                "\"16125588\",\n" +
                "\"15766987\",\n" +
                "\"15752530\",\n" +
                "\"16125585\",\n" +
                "\"16182899\",\n" +
                "\"15680455\",\n" +
                "\"15924975\",\n" +
                "\"16005334\",\n" +
                "\"15836887\",\n" +
                "\"16182898\",\n" +
                "\"15894087\",\n" +
                "\"16084253\",\n" +
                "\"15276394\",\n" +
                "\"15781101\",\n" +
                "\"15766996\",\n" +
                "\"16084256\",\n" +
                "\"16084255\",\n" +
                "\"15351192\",\n" +
                "\"15380963\",\n" +
                "\"15894098\",\n" +
                "\"15276392\",\n" +
                "\"15680453\",\n" +
                "\"15866311\",\n" +
                "\"15794969\",\n" +
                "\"15733717\",\n" +
                "\"15766989\",\n" +
                "\"16099293\",\n" +
                "\"16054939\",\n" +
                "\"15850626\",\n" +
                "\"15639680\",\n" +
                "\"15910949\",\n" +
                "\"15794968\",\n" +
                "\"15325831\",\n" +
                "\"15680456\",\n" +
                "\"15733708\",\n" +
                "\"15302194\",\n" +
                "\"15474134\",\n" +
                "\"16125590\",\n" +
                "\"15555666\",\n" +
                "\"16168781\",\n" +
                "\"15234855\",\n" +
                "\"15850623\",\n" +
                "\"15337403\",\n" +
                "\"16125580\",\n" +
                "\"15993234\",\n" +
                "\"16154017\",\n" +
                "\"15325833\",\n" +
                "\"16154019\",\n" +
                "\"15767001\",\n" +
                "\"15500895\",\n" +
                "\"15639293\",\n" +
                "\"15325834\",\n" +
                "\"15752529\",\n" +
                "\"15766995\",\n" +
                "\"16168780\",\n" +
                "\"15364185\",\n" +
                "\"15823381\",\n" +
                "\"15781104\",\n" +
                "\"15910943\",\n" +
                "\"15936419\",\n" +
                "\"15262092\",\n" +
                "\"16054937\",\n" +
                "\"15351193\",\n" +
                "\"15364186\",\n" +
                "\"15936423\",\n" +
                "\"15643700\",\n" +
                "\"16039339\",\n" +
                "\"16139655\",\n" +
                "\"15500885\",\n" +
                "\"15752534\",\n" +
                "\"15451211\",\n" +
                "\"15541448\",\n" +
                "\"15464184\",\n" +
                "\"15794974\",\n" +
                "\"15364184\",\n" +
                "\"15276393\",\n" +
                "\"15978928\",\n" +
                "\"15351191\",\n" +
                "\"15885294\",\n" +
                "\"16226616\",\n" +
                "\"15234856\",\n" +
                "\"15639668\",\n" +
                "\"15936421\",\n" +
                "\"16182882\",\n" +
                "\"8541765\",\n" +
                "\"12709466\",\n" +
                "\"12709455\",\n" +
                "\"12387655\",\n" +
                "\"6374178\",\n" +
                "\"11368733\",\n" +
                "\"11798370\",\n" +
                "\"12020303\",\n" +
                "\"11086366\",\n" +
                "\"12709465\",\n" +
                "\"11368732\",\n" +
                "\"11667934\",\n" +
                "\"12504395\",\n" +
                "\"12504397\",\n" +
                "\"11784622\",\n" +
                "\"74731\",\n" +
                "\"11784627\",\n" +
                "\"12504396\",\n" +
                "\"11784631\",\n" +
                "\"30167679\",\n" +
                "\"30167682\",\n" +
                "\"30102163\",\n" +
                "\"29900867\",\n" +
                "\"30017138\",\n" +
                "\"30191818\",\n" +
                "\"29900871\",\n" +
                "\"29900870\",\n" +
                "\"29976467\",\n" +
                "\"29327834\",\n" +
                "\"11652360\",\n" +
                "\"11653066\",\n" +
                "\"25803347\",\n" +
                "\"27218648\",\n" +
                "\"27552630\",\n" +
                "\"25803343\",\n" +
                "\"27218644\",\n" +
                "\"26720038\",\n" +
                "\"26103040\",\n" +
                "\"27218642\",\n" +
                "\"25335163\",\n" +
                "\"27552613\",\n" +
                "\"24756520\",\n" +
                "\"25038361\",\n" +
                "\"24756521\",\n" +
                "\"27552627\",\n" +
                "\"25803359\",\n" +
                "\"26717028\",\n" +
                "\"24449317\",\n" +
                "\"25420013\",\n" +
                "\"27218635\",\n" +
                "\"25803358\",\n" +
                "\"25803332\",\n" +
                "\"24449302\",\n" +
                "\"25038351\",\n" +
                "\"27552620\",\n" +
                "\"24449312\",\n" +
                "\"25335164\",\n" +
                "\"25335151\",\n" +
                "\"26103041\",\n" +
                "\"27552625\",\n" +
                "\"25335142\",\n" +
                "\"25803331\",\n" +
                "\"27552614\",\n" +
                "\"25803330\",\n" +
                "\"24449330\",\n" +
                "\"24756505\",\n" +
                "\"26103012\",\n" +
                "\"27367226\",\n" +
                "\"27002462\",\n" +
                "\"25536262\",\n" +
                "\"24756492\",\n" +
                "\"26039283\",\n" +
                "\"24756490\",\n" +
                "\"26594834\",\n" +
                "\"26103025\",\n" +
                "\"25006756\",\n" +
                "\"25536270\",\n" +
                "\"24756530\",\n" +
                "\"26720037\",\n" +
                "\"24394945\",\n" +
                "\"25742306\",\n" +
                "\"26660329\",\n" +
                "\"26103044\",\n" +
                "\"25335141\",\n" +
                "\"27552633\",\n" +
                "\"24449303\",\n" +
                "\"25335144\",\n" +
                "\"25038368\",\n" +
                "\"25335129\",\n" +
                "\"25803344\",\n" +
                "\"27218633\",\n" +
                "\"27464338\",\n" +
                "\"25536252\",\n" +
                "\"25705993\",\n" +
                "\"24449296\",\n" +
                "\"27002432\",\n" +
                "\"26103031\",\n" +
                "\"24756491\",\n" +
                "\"24449298\",\n" +
                "\"25536241\",\n" +
                "\"26720034\",\n" +
                "\"25279433\",\n" +
                "\"25038331\",\n" +
                "\"26720013\",\n" +
                "\"24756518\",\n" +
                "\"24756509\",\n" +
                "\"25038373\",\n" +
                "\"27552629\",\n" +
                "\"25335128\",\n" +
                "\"25038353\",\n" +
                "\"27218615\",\n" +
                "\"25536239\",\n" +
                "\"26942769\",\n" +
                "\"15474129\",\n" +
                "\"15705448\",\n" +
                "\"15589291\",\n" +
                "\"16121410\",\n" +
                "\"15999402\",\n" +
                "\"15866299\",\n" +
                "\"15652601\",\n" +
                "\"15351168\",\n" +
                "\"15652598\",\n" +
                "\"15841564\",\n" +
                "\"15555646\",\n" +
                "\"15924974\",\n" +
                "\"16084248\",\n" +
                "\"15541435\",\n" +
                "\"15856541\",\n" +
                "\"16178073\",\n" +
                "\"15799094\",\n" +
                "\"15936404\",\n" +
                "\"16005317\",\n" +
                "\"15530610\",\n" +
                "\"16189867\",\n" +
                "\"16054943\",\n" +
                "\"15364191\",\n" +
                "\"15733720\",\n" +
                "\"15936408\",\n" +
                "\"15262078\",\n" +
                "\"15639301\",\n" +
                "\"15811437\",\n" +
                "\"15582050\",\n" +
                "\"15712387\",\n" +
                "\"15382363\",\n" +
                "\"15517699\",\n" +
                "\"15856540\",\n" +
                "\"16089000\",\n" +
                "\"15672484\",\n" +
                "\"15313336\",\n" +
                "\"15864858\",\n" +
                "\"15451201\",\n" +
                "\"16112279\",\n" +
                "\"15664218\",\n" +
                "\"15781079\",\n" +
                "\"15279001\",\n" +
                "\"15488223\",\n" +
                "\"15451218\",\n" +
                "\"15589296\",\n" +
                "\"15474114\",\n" +
                "\"15889459\",\n" +
                "\"15582048\",\n" +
                "\"15530636\",\n" +
                "\"15237533\",\n" +
                "\"15290840\",\n" +
                "\"16139637\",\n" +
                "\"15234844\",\n" +
                "\"15290838\",\n" +
                "\"15464167\",\n" +
                "\"15971299\",\n" +
                "\"16127806\",\n" +
                "\"15993227\",\n" +
                "\"15954216\",\n" +
                "\"15978922\",\n" +
                "\"15680445\",\n" +
                "\"15672482\",\n" +
                "\"15380946\",\n" +
                "\"16182892\",\n" +
                "\"15288725\",\n" +
                "\"16028310\",\n" +
                "\"16099277\",\n" +
                "\"16226597\",\n" +
                "\"15856547\",\n" +
                "\"15885291\",\n" +
                "\"15639657\",\n" +
                "\"15534945\",\n" +
                "\"16154009\",\n" +
                "\"16257327\",\n" +
                "\"15954217\",\n" +
                "\"15288746\",\n" +
                "\"15752525\",\n" +
                "\"15276399\",\n" +
                "\"15752510\",\n" +
                "\"15325811\",\n" +
                "\"15288724\",\n" +
                "\"16168755\",\n" +
                "\"15705441\",\n" +
                "\"16084239\",\n" +
                "\"15302170\",\n" +
                "\"16168763\",\n" +
                "\"16118902\",\n" +
                "\"15978910\",\n" +
                "\"15262095\",\n" +
                "\"15781082\",\n" +
                "\"15836877\",\n" +
                "\"16243080\",\n" +
                "\"15866290\",\n" +
                "\"16112292\",\n" +
                "\"15823367\",\n" +
                "\"16182891\",\n" +
                "\"15313351\",\n" +
                "\"15850619\",\n" +
                "\"15964432\",\n" +
                "\"15794953\",\n" +
                "\"15555655\",\n" +
                "\"16099269\",\n" +
                "\"15664215\",\n" +
                "\"15288716\",\n" +
                "\"15610781\",\n" +
                "\"15500883\",\n" +
                "\"15724276\",\n" +
                "\"15781097\",\n" +
                "\"15566993\",\n" +
                "\"15993215\",\n" +
                "\"15799097\",\n" +
                "\"15841559\",\n" +
                "\"15954219\",\n" +
                "\"15541429\",\n" +
                "\"15639300\",\n" +
                "\"16257332\",\n" +
                "\"15464162\",\n" +
                "\"15811455\",\n" +
                "\"15799095\",\n" +
                "\"15328601\",\n" +
                "\"15288726\",\n" +
                "\"15794960\",\n" +
                "\"16153999\",\n" +
                "\"15964428\",\n" +
                "\"15380952\",\n" +
                "\"15262097\",\n" +
                "\"16010706\",\n" +
                "\"15705438\",\n" +
                "\"15680448\",\n" +
                "\"16257329\",\n" +
                "\"15950708\",\n" +
                "\"15500889\",\n" +
                "\"15823385\",\n" +
                "\"15978912\",\n" +
                "\"15924989\",\n" +
                "\"15451229\",\n" +
                "\"15567016\",\n" +
                "\"16168775\",\n" +
                "\"15915563\",\n" +
                "\"15288718\",\n" +
                "\"15262086\",\n" +
                "\"16118904\",\n" +
                "\"16243084\",\n" +
                "\"15384207\",\n" +
                "\"16112307\",\n" +
                "\"15705445\",\n" +
                "\"15302175\",\n" +
                "\"15733702\",\n" +
                "\"16247887\",\n" +
                "\"15593404\",\n" +
                "\"16182877\",\n" +
                "\"16054926\",\n" +
                "\"15781087\",\n" +
                "\"15470807\",\n" +
                "\"16154005\",\n" +
                "\"16112287\",\n" +
                "\"15993223\",\n" +
                "\"15915564\",\n" +
                "\"15726696\",\n" +
                "\"15464181\",\n" +
                "\"15652590\",\n" +
                "\"15868654\",\n" +
                "\"15589313\",\n" +
                "\"15794961\",\n" +
                "\"15772999\",\n" +
                "\"15500868\",\n" +
                "\"15643696\",\n" +
                "\"15589303\",\n" +
                "\"15657983\",\n" +
                "\"15464173\",\n" +
                "\"15325827\",\n" +
                "\"15351184\",\n" +
                "\"15582053\",\n" +
                "\"15234831\",\n" +
                "\"16226612\",\n" +
                "\"15451207\",\n" +
                "\"15954218\",\n" +
                "\"15313340\",\n" +
                "\"15337383\",\n" +
                "\"15364168\",\n" +
                "\"15614938\",\n" +
                "\"15313365\",\n" +
                "\"15822167\",\n" +
                "\"15672483\",\n" +
                "\"15530618\",\n" +
                "\"15325810\",\n" +
                "\"15885279\",\n" +
                "\"16084245\",\n" +
                "\"15546170\",\n" +
                "\"16231412\",\n" +
                "\"15262079\",\n" +
                "\"16084260\",\n" +
                "\"15519630\",\n" +
                "\"16005316\",\n" +
                "\"15451203\",\n" +
                "\"16125577\",\n" +
                "\"15680458\",\n" +
                "\"16257346\",\n" +
                "\"15978908\",\n" +
                "\"15978907\",\n" +
                "\"15978925\",\n" +
                "\"15639272\",\n" +
                "\"15264361\",\n" +
                "\"16193615\",\n" +
                "\"15968748\",\n" +
                "\"15276366\",\n" +
                "\"15565745\",\n" +
                "\"16139643\",\n" +
                "\"15519610\",\n" +
                "\"16173117\",\n" +
                "\"15338565\",\n" +
                "\"16084242\",\n" +
                "\"15281216\",\n" +
                "\"15781089\",\n" +
                "\"15500887\",\n" +
                "\"15570702\",\n" +
                "\"15464169\",\n" +
                "\"15664217\",\n" +
                "\"15488197\",\n" +
                "\"15610782\",\n" +
                "\"15752517\",\n" +
                "\"16161214\",\n" +
                "\"16243079\",\n" +
                "\"15325825\",\n" +
                "\"15570696\",\n" +
                "\"16243085\",\n" +
                "\"16005330\",\n" +
                "\"15246722\",\n" +
                "\"16054927\",\n" +
                "\"16060049\",\n" +
                "\"15766983\",\n" +
                "\"16178121\",\n" +
                "\"15366222\",\n" +
                "\"15993217\",\n" +
                "\"15639676\",\n" +
                "\"16153993\",\n" +
                "\"15709233\",\n" +
                "\"15610783\",\n" +
                "\"16182876\",\n" +
                "\"15993222\",\n" +
                "\"15262110\",\n" +
                "\"15652583\",\n" +
                "\"15999401\",\n" +
                "\"15836872\",\n" +
                "\"15643703\",\n" +
                "\"15910942\",\n" +
                "\"15351196\",\n" +
                "\"15337382\",\n" +
                "\"16084234\",\n" +
                "\"15288719\",\n" +
                "\"15781105\",\n" +
                "\"15246714\",\n" +
                "\"16154000\",\n" +
                "\"16154024\",\n" +
                "\"15936427\",\n" +
                "\"16023516\",\n" +
                "\"15451231\",\n" +
                "\"16257331\",\n" +
                "\"15721459\",\n" +
                "\"16054932\",\n" +
                "\"16112289\",\n" +
                "\"15885298\",\n" +
                "\"15470806\",\n" +
                "\"15325815\",\n" +
                "\"15733723\",\n" +
                "\"16145749\",\n" +
                "\"15337408\",\n" +
                "\"15276368\",\n" +
                "\"15841558\",\n" +
                "\"16039315\",\n" +
                "\"15488214\",\n" +
                "\"15721476\",\n" +
                "\"15816074\",\n" +
                "\"15519620\",\n" +
                "\"15570695\",\n" +
                "\"15752526\",\n" +
                "\"15610803\",\n" +
                "\"15351179\",\n" +
                "\"15500873\",\n" +
                "\"15828079\",\n" +
                "\"15864827\",\n" +
                "\"16104070\",\n" +
                "\"15595195\",\n" +
                "\"15541431\",\n" +
                "\"16168770\",\n" +
                "\"15773002\",\n" +
                "\"15288727\",\n" +
                "\"15337380\",\n" +
                "\"15276376\",\n" +
                "\"15451228\",\n" +
                "\"16005341\",\n" +
                "\"15664219\",\n" +
                "\"15530614\",\n" +
                "\"15246737\",\n" +
                "\"15828082\",\n" +
                "\"15664223\",\n" +
                "\"15733696\",\n" +
                "\"15978914\",\n" +
                "\"15541427\",\n" +
                "\"15570694\",\n" +
                "\"15305438\",\n" +
                "\"15555653\",\n" +
                "\"15685723\",\n" +
                "\"15276401\",\n" +
                "\"15639284\",\n" +
                "\"15816071\",\n" +
                "\"15276370\",\n" +
                "\"15451208\",\n" +
                "\"15313338\",\n" +
                "\"16189868\",\n" +
                "\"15962458\",\n" +
                "\"15500876\",\n" +
                "\"16261671\",\n" +
                "\"15262090\",\n" +
                "\"15712388\",\n" +
                "\"15971298\",\n" +
                "\"15246708\",\n" +
                "\"16084235\",\n" +
                "\"15940811\",\n" +
                "\"15889460\",\n" +
                "\"15752514\",\n" +
                "\"15993219\",\n" +
                "\"15794966\",\n" +
                "\"15864835\",\n" +
                "\"15519618\",\n" +
                "\"15325816\",\n" +
                "\"15936405\",\n" +
                "\"15889463\",\n" +
                "\"16257328\",\n" +
                "\"15680442\",\n" +
                "\"15850616\",\n" +
                "\"15589305\",\n" +
                "\"15589304\",\n" +
                "\"15589292\",\n" +
                "\"15519616\",\n" +
                "\"15940816\",\n" +
                "\"15380970\",\n" +
                "\"15680435\",\n" +
                "\"15652584\",\n" +
                "\"15752522\",\n" +
                "\"15823364\",\n" +
                "\"15850614\",\n" +
                "\"15246725\",\n" +
                "\"15519619\",\n" +
                "\"15811447\",\n" +
                "\"15664233\",\n" +
                "\"15936416\",\n" +
                "\"15313352\",\n" +
                "\"15766979\",\n" +
                "\"15364193\",\n" +
                "\"16168761\",\n" +
                "\"16099279\",\n" +
                "\"15329944\",\n" +
                "\"15950700\",\n" +
                "\"15488207\",\n" +
                "\"15639292\",\n" +
                "\"15288732\",\n" +
                "\"15836885\",\n" +
                "\"15325821\",\n" +
                "\"15889458\",\n" +
                "\"15246709\",\n" +
                "\"16226595\",\n" +
                "\"16047407\",\n" +
                "\"16168777\",\n" +
                "\"15364170\",\n" +
                "\"15555648\",\n" +
                "\"15493073\",\n" +
                "\"15337390\",\n" +
                "\"15451212\",\n" +
                "\"15705443\",\n" +
                "\"15481104\",\n" +
                "\"15325813\",\n" +
                "\"15380968\",\n" +
                "\"15936417\",\n" +
                "\"16139660\",\n" +
                "\"16168766\",\n" +
                "\"15366227\",\n" +
                "\"16154013\",\n" +
                "\"15841557\",\n" +
                "\"15915560\",\n" +
                "\"15302186\",\n" +
                "\"15950703\",\n" +
                "\"15811450\",\n" +
                "\"16243071\",\n" +
                "\"15766994\",\n" +
                "\"15836892\",\n" +
                "\"15451202\",\n" +
                "\"15382362\",\n" +
                "\"16226610\",\n" +
                "\"15337381\",\n" +
                "\"15894097\",\n" +
                "\"16139636\",\n" +
                "\"15481120\",\n" +
                "\"16023491\",\n" +
                "\"15680437\",\n" +
                "\"15351200\",\n" +
                "\"15262100\",\n" +
                "\"15836870\",\n" +
                "\"15262084\",\n" +
                "\"16054924\",\n" +
                "\"15721456\",\n" +
                "\"15325826\",\n" +
                "\"15978923\",\n" +
                "\"15894101\",\n" +
                "\"15781094\",\n" +
                "\"16023499\",\n" +
                "\"16005324\",\n" +
                "\"15351189\",\n" +
                "\"15915559\",\n" +
                "\"15652599\",\n" +
                "\"15936429\",\n" +
                "\"15610790\",\n" +
                "\"16168768\",\n" +
                "\"15325814\",\n" +
                "\"15341018\",\n" +
                "\"15302173\",\n" +
                "\"15234848\",\n" +
                "\"15589293\",\n" +
                "\"15721462\",\n" +
                "\"15742472\",\n" +
                "\"15455486\",\n" +
                "\"15639278\",\n" +
                "\"16261672\",\n" +
                "\"16028312\",\n" +
                "\"15566994\",\n" +
                "\"15993214\",\n" +
                "\"15519624\",\n" +
                "\"15733712\",\n" +
                "\"15742473\",\n" +
                "\"16226601\",\n" +
                "\"16173116\",\n" +
                "\"15910956\",\n" +
                "\"15786567\",\n" +
                "\"15752523\",\n" +
                "\"15541440\",\n" +
                "\"15844226\",\n" +
                "\"15823363\",\n" +
                "\"16028309\",\n" +
                "\"16112282\",\n" +
                "\"15351177\",\n" +
                "\"15964430\",\n" +
                "\"15313348\",\n" +
                "\"15639661\",\n" +
                "\"15773000\",\n" +
                "\"15664200\",\n" +
                "\"15288739\",\n" +
                "\"16089004\",\n" +
                "\"15500903\",\n" +
                "\"16075477\",\n" +
                "\"15823362\",\n" +
                "\"16261673\",\n" +
                "\"15593403\",\n" +
                "\"16010710\",\n" +
                "\"15894083\",\n" +
                "\"15936403\",\n" +
                "\"15610787\",\n" +
                "\"15474119\",\n" +
                "\"15664206\",\n" +
                "\"15264355\",\n" +
                "\"16084261\",\n" +
                "\"15451204\",\n" +
                "\"15721461\",\n" +
                "\"15733704\",\n" +
                "\"16257324\",\n" +
                "\"15639683\",\n" +
                "\"15968750\",\n" +
                "\"15639672\",\n" +
                "\"15910947\",\n" +
                "\"15823369\",\n" +
                "\"15302181\",\n" +
                "\"16168753\",\n" +
                "\"15643702\",\n" +
                "\"16168760\",\n" +
                "\"16023498\",\n" +
                "\"15313356\",\n" +
                "\"15474128\",\n" +
                "\"15978926\",\n" +
                "\"15816069\",\n" +
                "\"16084233\",\n" +
                "\"15337384\",\n" +
                "\"15680450\",\n" +
                "\"15366221\",\n" +
                "\"15866314\",\n" +
                "\"15530603\",\n" +
                "\"16005338\",\n" +
                "\"16112280\",\n" +
                "\"15898141\",\n" +
                "\"15337391\",\n" +
                "\"16257341\",\n" +
                "\"15664231\",\n" +
                "\"15555661\",\n" +
                "\"15305439\",\n" +
                "\"15566997\",\n" +
                "\"15610788\",\n" +
                "\"16060055\",\n" +
                "\"15264353\",\n" +
                "\"15582041\",\n" +
                "\"15639291\",\n" +
                "\"16060053\",\n" +
                "\"16125565\",\n" +
                "\"15672480\",\n" +
                "\"15276389\",\n" +
                "\"15351169\",\n" +
                "\"15910945\",\n" +
                "\"16039313\",\n" +
                "\"15234847\",\n" +
                "\"15567002\",\n" +
                "\"16099280\",\n" +
                "\"16168754\",\n" +
                "\"15811449\",\n" +
                "\"16257338\",\n" +
                "\"15639273\",\n" +
                "\"15630763\",\n" +
                "\"16089003\",\n" +
                "\"15614941\",\n" +
                "\"15643704\",\n" +
                "\"15530625\",\n" +
                "\"15898139\",\n" +
                "\"15733722\",\n" +
                "\"15752519\",\n" +
                "\"15452952\",\n" +
                "\"15530615\",\n" +
                "\"16084240\",\n" +
                "\"16125572\",\n" +
                "\"16226611\",\n" +
                "\"15773001\",\n" +
                "\"15530629\",\n" +
                "\"15314835\",\n" +
                "\"16112295\",\n" +
                "\"15664216\",\n" +
                "\"15555664\",\n" +
                "\"15680449\",\n" +
                "\"15582039\",\n" +
                "\"15451200\",\n" +
                "\"15536676\",\n" +
                "\"15366225\",\n" +
                "\"15885288\",\n" +
                "\"15364169\",\n" +
                "\"16054931\",\n" +
                "\"15766990\",\n" +
                "\"15811460\",\n" +
                "\"15940817\",\n" +
                "\"15246715\",\n" +
                "\"16168784\",\n" +
                "\"16257325\",\n" +
                "\"16005313\",\n" +
                "\"15889462\",\n" +
                "\"16044533\",\n" +
                "\"15566988\",\n" +
                "\"15828084\",\n" +
                "\"15500872\",\n" +
                "\"15898137\",\n" +
                "\"15779108\",\n" +
                "\"15910944\",\n" +
                "\"16168757\",\n" +
                "\"15582047\",\n" +
                "\"15464182\",\n" +
                "\"16139662\",\n" +
                "\"15380948\",\n" +
                "\"15302178\",\n" +
                "\"15500870\",\n" +
                "\"15705439\",\n" +
                "\"15794972\",\n" +
                "\"15380950\",\n" +
                "\"15451230\",\n" +
                "\"16084259\",\n" +
                "\"15451227\",\n" +
                "\"15850617\",\n" +
                "\"15380951\",\n" +
                "\"15302174\",\n" +
                "\"16112281\",\n" +
                "\"15505894\",\n" +
                "\"16243072\",\n" +
                "\"15724277\",\n" +
                "\"15898140\",\n" +
                "\"15488196\",\n" +
                "\"15262103\",\n" +
                "\"15237532\",\n" +
                "\"15811440\",\n" +
                "\"15964427\",\n" +
                "\"16099282\",\n" +
                "\"15789452\",\n" +
                "\"15239174\",\n" +
                "\"16054928\",\n" +
                "\"16226620\",\n" +
                "\"15652603\",\n" +
                "\"15639659\",\n" +
                "\"15452951\",\n" +
                "\"15672481\",\n" +
                "\"16125570\",\n" +
                "\"15530624\",\n" +
                "\"15664212\",\n" +
                "\"16089001\",\n" +
                "\"16168767\",\n" +
                "\"15555645\",\n" +
                "\"16130228\",\n" +
                "\"16116668\",\n" +
                "\"15337410\",\n" +
                "\"15451214\",\n" +
                "\"16112285\",\n" +
                "\"15924968\",\n" +
                "\"15811453\",\n" +
                "\"15281218\",\n" +
                "\"16182893\",\n" +
                "\"15936411\",\n" +
                "\"15530633\",\n" +
                "\"15680444\",\n" +
                "\"16112297\",\n" +
                "\"16139647\",\n" +
                "\"15337405\",\n" +
                "\"15940813\",\n" +
                "\"16039327\",\n" +
                "\"16226592\",\n" +
                "\"16168759\",\n" +
                "\"16182894\",\n" +
                "\"15234846\",\n" +
                "\"15999400\",\n" +
                "\"15262101\",\n" +
                "\"15709234\",\n" +
                "\"16044532\",\n" +
                "\"15364177\",\n" +
                "\"15364171\",\n" +
                "\"16243073\",\n" +
                "\"16139635\",\n" +
                "\"15470815\",\n" +
                "\"15534944\",\n" +
                "\"15351167\",\n" +
                "\"16005319\",\n" +
                "\"15505895\",\n" +
                "\"15264352\",\n" +
                "\"15794955\",\n" +
                "\"15823379\",\n" +
                "\"15380956\",\n" +
                "\"15589299\",\n" +
                "\"15841563\",\n" +
                "\"15288715\",\n" +
                "\"15823368\",\n" +
                "\"16153997\",\n" +
                "\"16168776\",\n" +
                "\"15464171\",\n" +
                "\"15816070\",\n" +
                "\"15993212\",\n" +
                "\"16121448\",\n" +
                "\"15364180\",\n" +
                "\"15262094\",\n" +
                "\"15836868\",\n" +
                "\"15639665\",\n" +
                "\"16208779\",\n" +
                "\"15993235\",\n" +
                "\"15325839\",\n" +
                "\"15288738\",\n" +
                "\"15733697\",\n" +
                "\"16116667\",\n" +
                "\"15519612\",\n" +
                "\"15555647\",\n" +
                "\"16168765\",\n" +
                "\"16116666\",\n" +
                "\"15766988\",\n" +
                "\"15752536\",\n" +
                "\"15325807\",\n" +
                "\"15924981\",\n" +
                "\"15290839\",\n" +
                "\"15302192\",\n" +
                "\"15680434\",\n" +
                "\"15850625\",\n" +
                "\"15500900\",\n" +
                "\"16226603\",\n" +
                "\"15566987\",\n" +
                "\"15721466\",\n" +
                "\"15464180\",\n" +
                "\"15276367\",\n" +
                "\"15752518\",\n" +
                "\"15685722\",\n" +
                "\"15639276\",\n" +
                "\"15823387\",\n" +
                "\"16125567\",\n" +
                "\"15856548\",\n" +
                "\"15680438\",\n" +
                "\"15234864\",\n" +
                "\"16039318\",\n" +
                "\"15488202\",\n" +
                "\"15530608\",\n" +
                "\"15351173\",\n" +
                "\"15850638\",\n" +
                "\"15302201\",\n" +
                "\"15464165\",\n" +
                "\"15474140\",\n" +
                "\"16182883\",\n" +
                "\"16182884\",\n" +
                "\"16145750\",\n" +
                "\"15320337\",\n" +
                "\"15359481\",\n" +
                "\"15555651\",\n" +
                "\"15657982\",\n" +
                "\"15664201\",\n" +
                "\"15364175\",\n" +
                "\"15451217\",\n" +
                "\"15239173\",\n" +
                "\"16226593\",\n" +
                "\"15652596\",\n" +
                "\"15530602\",\n" +
                "\"16189851\",\n" +
                "\"16039323\",\n" +
                "\"16099271\",\n" +
                "\"15337395\",\n" +
                "\"15276369\",\n" +
                "\"15767004\",\n" +
                "\"16023506\",\n" +
                "\"15836878\",\n" +
                "\"15964434\",\n" +
                "\"15288729\",\n" +
                "\"16112286\",\n" +
                "\"16023503\",\n" +
                "\"15246739\",\n" +
                "\"15705458\",\n" +
                "\"15338567\",\n" +
                "\"16125579\",\n" +
                "\"15766982\",\n" +
                "\"15978911\",\n" +
                "\"15565744\",\n" +
                "\"15993209\",\n" +
                "\"15680440\",\n" +
                "\"15993225\",\n" +
                "\"15781092\",\n" +
                "\"15721478\",\n" +
                "\"15850636\",\n" +
                "\"15582040\",\n" +
                "\"15936413\",\n" +
                "\"15889461\",\n" +
                "\"15276391\",\n" +
                "\"15384206\",\n" +
                "\"15924987\",\n" +
                "\"16168778\",\n" +
                "\"15519611\",\n" +
                "\"15488200\",\n" +
                "\"15313362\",\n" +
                "\"15999403\",\n" +
                "\"16028311\",\n" +
                "\"15999404\",\n" +
                "\"15898136\",\n" +
                "\"15856542\",\n" +
                "\"15789450\",\n" +
                "\"15752512\",\n" +
                "\"15380945\",\n" +
                "\"15850613\",\n" +
                "\"16023493\",\n" +
                "\"16084243\",\n" +
                "\"16168762\",\n" +
                "\"15664220\",\n" +
                "\"15756723\",\n" +
                "\"16054934\",\n" +
                "\"15614940\",\n" +
                "\"15328604\",\n" +
                "\"15488209\",\n" +
                "\"16130229\",\n" +
                "\"15276383\",\n" +
                "\"15313347\",\n" +
                "\"15313335\",\n" +
                "\"15500869\",\n" +
                "\"16125566\",\n" +
                "\"15680441\",\n" +
                "\"15328605\",\n" +
                "\"15541454\",\n" +
                "\"15766976\",\n" +
                "\"16154002\",\n" +
                "\"15652600\",\n" +
                "\"16182875\",\n" +
                "\"16044531\",\n" +
                "\"15789451\",\n" +
                "\"16226594\",\n" +
                "\"15709235\",\n" +
                "\"15794962\",\n" +
                "\"16023502\",\n" +
                "\"15639274\",\n" +
                "\"15639302\",\n" +
                "\"15924965\",\n" +
                "\"15570693\",\n" +
                "\"15364179\",\n" +
                "\"15940815\",\n" +
                "\"15836884\",\n" +
                "\"15794958\",\n" +
                "\"15351180\",\n" +
                "\"16039337\",\n" +
                "\"15455485\",\n" +
                "\"15779117\",\n" +
                "\"15500894\",\n" +
                "\"15799093\",\n" +
                "\"16005332\",\n" +
                "\"15541433\",\n" +
                "\"15589306\",\n" +
                "\"16247886\",\n" +
                "\"16099295\",\n" +
                "\"15799096\",\n" +
                "\"15688459\",\n" +
                "\"15850621\",\n" +
                "\"15721453\",\n" +
                "\"16044534\",\n" +
                "\"15885289\",\n" +
                "\"16154001\",\n" +
                "\"15337386\",\n" +
                "\"15325822\",\n" +
                "\"16196128\",\n" +
                "\"15823366\",\n" +
                "\"16099284\",\n" +
                "\"15262085\",\n" +
                "\"15733716\",\n" +
                "\"16145748\",\n" +
                "\"15866300\",\n" +
                "\"16060048\",\n" +
                "\"15313339\",\n" +
                "\"15652585\",\n" +
                "\"15610795\",\n" +
                "\"15288737\",\n" +
                "\"15325808\",\n" +
                "\"15351197\",\n" +
                "\"15567005\",\n" +
                "\"16039319\",\n" +
                "\"15276384\",\n" +
                "\"16023490\",\n" +
                "\"15639658\",\n" +
                "\"15582063\",\n" +
                "\"15688458\",\n" +
                "\"15836869\",\n" +
                "\"15993229\",\n" +
                "\"15680462\",\n" +
                "\"15337397\",\n" +
                "\"16005329\",\n" +
                "\"16010705\",\n" +
                "\"15500888\",\n" +
                "\"15993224\",\n" +
                "\"15978916\",\n" +
                "\"15500882\",\n" +
                "\"15836876\",\n" +
                "\"16139638\",\n" +
                "\"16112291\",\n" +
                "\"15915561\",\n" +
                "\"15541428\",\n" +
                "\"16099275\",\n" +
                "\"15950707\",\n" +
                "\"15474123\",\n" +
                "\"15836881\",\n" +
                "\"16139648\",\n" +
                "\"15630764\",\n" +
                "\"15993228\",\n" +
                "\"16010708\",\n" +
                "\"15756725\",\n" +
                "\"16168769\",\n" +
                "\"15364181\",\n" +
                "\"16243074\",\n" +
                "\"15464164\",\n" +
                "\"15589294\",\n" +
                "\"15664221\",\n" +
                "\"16182878\",\n" +
                "\"15276380\",\n" +
                "\"16154006\",\n" +
                "\"15936426\",\n" +
                "\"15451210\",\n" +
                "\"15595196\",\n" +
                "\"15828081\",\n" +
                "\"15500891\",\n" +
                "\"16039321\",\n" +
                "\"15302171\",\n" +
                "\"16005331\",\n" +
                "\"16139652\",\n" +
                "\"15639671\",\n" +
                "\"15885299\",\n" +
                "\"16054944\",\n" +
                "\"16023492\",\n" +
                "\"15351175\",\n" +
                "\"15338566\",\n" +
                "\"15337388\",\n" +
                "\"15721454\",\n" +
                "\"16089002\",\n" +
                "\"15246721\",\n" +
                "\"15652586\",\n" +
                "\"16255085\",\n" +
                "\"15314836\",\n" +
                "\"15664234\",\n" +
                "\"15530611\",\n" +
                "\"15816072\",\n" +
                "\"15566990\",\n" +
                "\"15474115\",\n" +
                "\"15954215\",\n" +
                "\"15464176\",\n" +
                "\"15936430\",\n" +
                "\"15657981\",\n" +
                "\"16118903\",\n" +
                "\"15924970\",\n" +
                "\"16125568\",\n" +
                "\"16121409\",\n" +
                "\"15464179\",\n" +
                "\"15474127\",\n" +
                "\"15680443\",\n" +
                "\"15828083\",\n" +
                "\"15639279\",\n" +
                "\"15481121\",\n" +
                "\"15823383\",\n" +
                "\"16243087\",\n" +
                "\"15493074\",\n" +
                "\"15451220\",\n" +
                "\"16257330\",\n" +
                "\"15566995\",\n" +
                "\"15836875\",\n" +
                "\"15721474\",\n" +
                "\"15262091\",\n" +
                "\"15313357\",\n" +
                "\"15993218\",\n" +
                "\"16039328\",\n" +
                "\"16005322\",\n" +
                "\"15733703\",\n" +
                "\"15464161\",\n" +
                "\"16099270\",\n" +
                "\"15288728\",\n" +
                "\"15639673\",\n" +
                "\"15519637\",\n" +
                "\"16005333\",\n" +
                "\"16154015\",\n" +
                "\"15912596\",\n" +
                "\"15364176\",\n" +
                "\"15313344\",\n" +
                "\"15610784\",\n" +
                "\"15898138\",\n" +
                "\"15530616\",\n" +
                "\"15811463\",\n" +
                "\"15733710\",\n" +
                "\"15519625\",\n" +
                "\"15993220\",\n" +
                "\"16023504\",\n" +
                "\"15290841\",\n" +
                "\"15530619\",\n" +
                "\"15950720\",\n" +
                "\"15950701\",\n" +
                "\"16023494\",\n" +
                "\"15866313\",\n" +
                "\"15680459\",\n" +
                "\"16153998\",\n" +
                "\"15488205\",\n" +
                "\"15978931\",\n" +
                "\"15302172\",\n" +
                "\"16054922\",\n" +
                "\"15752513\",\n" +
                "\"15733699\",\n" +
                "\"16099297\",\n" +
                "\"15733726\",\n" +
                "\"15643701\",\n" +
                "\"15779124\",\n" +
                "\"15836883\",\n" +
                "\"15314834\",\n" +
                "\"16139634\",\n" +
                "\"15721458\",\n" +
                "\"15380971\",\n" +
                "\"15246713\",\n" +
                "\"15584105\",\n" +
                "\"15924969\",\n" +
                "\"16104071\",\n" +
                "\"16023509\",\n" +
                "\"15705437\",\n" +
                "\"15517695\",\n" +
                "\"15351181\",\n" +
                "\"15351170\",\n" +
                "\"16028308\",\n" +
                "\"15546169\",\n" +
                "\"15968749\",\n" +
                "\"16154022\",\n" +
                "\"15756722\",\n" +
                "\"16099286\",\n" +
                "\"16125586\",\n" +
                "\"15978906\",\n" +
                "\"15752538\",\n" +
                "\"15325838\",\n" +
                "\"15380955\",\n" +
                "\"16182879\",\n" +
                "\"16039314\",\n" +
                "\"15589290\",\n" +
                "\"16084244\",\n" +
                "\"16153994\",\n" +
                "\"15351185\",\n" +
                "\"15936428\",\n" +
                "\"15451209\",\n" +
                "\"15652594\",\n" +
                "\"15313354\",\n" +
                "\"15811444\",\n" +
                "\"16005327\",\n" +
                "\"15664208\",\n" +
                "\"16257326\",\n" +
                "\"16099283\",\n" +
                "\"15302176\",\n" +
                "\"15488208\",\n" +
                "\"15811445\",\n" +
                "\"15234833\",\n" +
                "\"16125569\",\n" +
                "\"15380969\",\n" +
                "\"16084236\",\n" +
                "\"15756724\",\n" +
                "\"15936409\",\n" +
                "\"15582042\",\n" +
                "\"15894094\",\n" +
                "\"15940814\",\n" +
                "\"15541436\",\n" +
                "\"11751346\",\n" +
                "\"11644476\",\n" +
                "\"11124195\",\n" +
                "\"11124198\",\n" +
                "\"11751359\",\n" +
                "\"10948045\",\n" +
                "\"10600970\",\n" +
                "\"11751349\",\n" +
                "\"11124188\",\n" +
                "\"10600947\",\n" +
                "\"10948008\",\n" +
                "\"11012255\",\n" +
                "\"11124183\",\n" +
                "\"11012262\",\n" +
                "\"10660326\",\n" +
                "\"11124191\",\n" +
                "\"10600974\",\n" +
                "\"11124190\",\n" +
                "\"10600957\",\n" +
                "\"11751350\",\n" +
                "\"11751368\",\n" +
                "\"11012259\",\n" +
                "\"10948028\",\n" +
                "\"11124178\",\n" +
                "\"10600975\",\n" +
                "\"10948041\",\n" +
                "\"10948011\",\n" +
                "\"11124165\",\n" +
                "\"10600971\",\n" +
                "\"10600977\",\n" +
                "\"11124205\",\n" +
                "\"10948044\",\n" +
                "\"11751356\",\n" +
                "\"11751343\",\n" +
                "\"11751353\",\n" +
                "\"10948046\",\n" +
                "\"10600980\",\n" +
                "\"10600983\",\n" +
                "\"11124184\",\n" +
                "\"10660324\",\n" +
                "\"10600948\",\n" +
                "\"10600968\",\n" +
                "\"10948027\",\n" +
                "\"10600981\",\n" +
                "\"10948033\",\n" +
                "\"11124204\",\n" +
                "\"11124189\",\n" +
                "\"11124201\",\n" +
                "\"11124182\",\n" +
                "\"10600985\",\n" +
                "\"10660325\",\n" +
                "\"10948017\",\n" +
                "\"11124172\",\n" +
                "\"10600986\",\n" +
                "\"10948023\",\n" +
                "\"11124179\",\n" +
                "\"11751369\",\n" +
                "\"11124202\",\n" +
                "\"11751361\",\n" +
                "\"11751358\",\n" +
                "\"11751354\",\n" +
                "\"11751352\",\n" +
                "\"11124193\",\n" +
                "\"11124177\",\n" +
                "\"10948040\",\n" +
                "\"11644582\",\n" +
                "\"11124192\",\n" +
                "\"10600979\",\n" +
                "\"11751362\",\n" +
                "\"10948016\",\n" +
                "\"10948022\",\n" +
                "\"11012257\",\n" +
                "\"11124200\",\n" +
                "\"10600956\",\n" +
                "\"11124171\",\n" +
                "\"10600946\",\n" +
                "\"11751360\",\n" +
                "\"10948019\",\n" +
                "\"10600969\",\n" +
                "\"10600973\",\n" +
                "\"11124185\",\n" +
                "\"10948009\",\n" +
                "\"11751363\",\n" +
                "\"10948055\",\n" +
                "\"11086368\",\n" +
                "\"12141317\",\n" +
                "\"11368716\",\n" +
                "\"10386550\",\n" +
                "\"9417003\",\n" +
                "\"10188650\",\n" +
                "\"10386552\",\n" +
                "\"10847804\",\n" +
                "\"10735381\",\n" +
                "\"10501109\",\n" +
                "\"12400536\",\n" +
                "\"12132951\",\n" +
                "\"10819928\",\n" +
                "\"12387637\",\n" +
                "\"11086346\",\n" +
                "\"12709464\",\n" +
                "\"10612327\",\n" +
                "\"12387649\",\n" +
                "\"12132983\",\n" +
                "\"10735384\",\n" +
                "\"12020302\",\n" +
                "\"9416994\",\n" +
                "\"11509036\",\n" +
                "\"11688440\",\n" +
                "\"10501115\",\n" +
                "\"10501110\",\n" +
                "\"11798356\",\n" +
                "\"11368737\",\n" +
                "\"10944631\",\n" +
                "\"10819941\",\n" +
                "\"10979761\",\n" +
                "\"11396469\",\n" +
                "\"12020294\",\n" +
                "\"10944637\",\n" +
                "\"10386557\",\n" +
                "\"11645142\",\n" +
                "\"12035789\",\n" +
                "\"10501120\",\n" +
                "\"10188648\",\n" +
                "\"10501108\",\n" +
                "\"10188666\",\n" +
                "\"11086347\",\n" +
                "\"10735382\",\n" +
                "\"12533126\",\n" +
                "\"10386539\",\n" +
                "\"10944619\",\n" +
                "\"11185517\",\n" +
                "\"12533109\",\n" +
                "\"10188644\",\n" +
                "\"10735402\",\n" +
                "\"10944620\",\n" +
                "\"10612315\",\n" +
                "\"10819958\",\n" +
                "\"12533103\",\n" +
                "\"11086348\",\n" +
                "\"10819935\",\n" +
                "\"12533102\",\n" +
                "\"10735401\",\n" +
                "\"9417001\",\n" +
                "\"9416998\",\n" +
                "\"10819930\",\n" +
                "\"11798373\",\n" +
                "\"10501101\",\n" +
                "\"10819929\",\n" +
                "\"10188665\",\n" +
                "\"11368740\",\n" +
                "\"11798375\",\n" +
                "\"12709452\",\n" +
                "\"10819927\",\n" +
                "\"12533114\",\n" +
                "\"11509049\",\n" +
                "\"10819940\",\n" +
                "\"12387636\",\n" +
                "\"10819945\",\n" +
                "\"10386543\",\n" +
                "\"12387641\",\n" +
                "\"11396467\",\n" +
                "\"10979758\",\n" +
                "\"12387634\",\n" +
                "\"12387654\",\n" +
                "\"12132962\",\n" +
                "\"10386560\",\n" +
                "\"10188652\",\n" +
                "\"10819939\",\n" +
                "\"12533115\",\n" +
                "\"11368713\",\n" +
                "\"10847805\",\n" +
                "\"10735403\",\n" +
                "\"12141318\",\n" +
                "\"10979760\",\n" +
                "\"12132980\",\n" +
                "\"10847806\",\n" +
                "\"10501105\",\n" +
                "\"11185516\",\n" +
                "\"10501098\",\n" +
                "\"10188646\",\n" +
                "\"11667922\",\n" +
                "\"11396470\",\n" +
                "\"12020285\",\n" +
                "\"11798346\",\n" +
                "\"9416992\",\n" +
                "\"12132954\",\n" +
                "\"10501123\",\n" +
                "\"11798345\",\n" +
                "\"9417004\",\n" +
                "\"10944648\",\n" +
                "\"10819953\",\n" +
                "\"10735399\",\n" +
                "\"12035788\",\n" +
                "\"11529241\",\n" +
                "\"12709456\",\n" +
                "\"11824387\",\n" +
                "\"12400538\",\n" +
                "\"12709447\",\n" +
                "\"10979759\",\n" +
                "\"12709461\",\n" +
                "\"12549461\",\n" +
                "\"11368725\",\n" +
                "\"9416995\",\n" +
                "\"12533113\",\n" +
                "\"10735387\",\n" +
                "\"11509047\",\n" +
                "\"10944635\",\n" +
                "\"10735379\",\n" +
                "\"10612310\",\n" +
                "\"11798371\",\n" +
                "\"10819937\",\n" +
                "\"12400537\",\n" +
                "\"10501121\",\n" +
                "\"11509060\",\n" +
                "\"12709459\",\n" +
                "\"11368722\",\n" +
                "\"10386563\",\n" +
                "\"12709451\",\n" +
                "\"10944618\",\n" +
                "\"9417002\",\n" +
                "\"10188655\",\n" +
                "\"10612308\",\n" +
                "\"12020288\",\n" +
                "\"11693148\",\n" +
                "\"10386542\",\n" +
                "\"11652512\",\n" +
                "\"11368734\",\n" +
                "\"9416997\",\n" +
                "\"11185515\",\n" +
                "\"11645079\",\n" +
                "\"10735374\",\n" +
                "\"10944622\",\n" +
                "\"12709472\",\n" +
                "\"12709453\",\n" +
                "\"12387635\",\n" +
                "\"10612309\",\n" +
                "\"10501100\",\n" +
                "\"11509057\",\n" +
                "\"11368717\",\n" +
                "\"12020287\",\n" +
                "\"12400535\",\n" +
                "\"10735377\",\n" +
                "\"12035787\",\n" +
                "\"12533116\",\n" +
                "\"9416993\",\n" +
                "\"11185514\",\n" +
                "\"11652640\",\n" +
                "\"11667915\",\n" +
                "\"11368736\",\n" +
                "\"11086354\",\n" +
                "\"10386544\",\n" +
                "\"10386548\",\n" +
                "\"11368738\",\n" +
                "\"10735386\",\n" +
                "\"12132972\",\n" +
                "\"11368723\",\n" +
                "\"12387656\",\n" +
                "\"11529245\",\n" +
                "\"12020286\",\n" +
                "\"12387666\",\n" +
                "\"12549487\",\n" +
                "\"12709457\",\n" +
                "\"12387658\",\n" +
                "\"12132955\",\n" +
                "\"10612326\",\n" +
                "\"10944628\",\n" +
                "\"12035791\",\n" +
                "\"11667930\",\n" +
                "\"10188649\",\n" +
                "\"12709449\",\n" +
                "\"10188667\",\n" +
                "\"12533105\",\n" +
                "\"10944649\",\n" +
                "\"12533124\",\n" +
                "\"10735400\",\n" +
                "\"12549486\",\n" +
                "\"10735385\",\n" +
                "\"10501111\",\n" +
                "\"10501106\",\n" +
                "\"10944621\",\n" +
                "\"11693145\",\n" +
                "\"10612324\",\n" +
                "\"12387638\",\n" +
                "\"10944623\",\n" +
                "\"12020282\",\n" +
                "\"10188647\",\n" +
                "\"10501112\",\n" +
                "\"11509035\",\n" +
                "\"10612323\",\n" +
                "\"12709473\",\n" +
                "\"11396466\",\n" +
                "\"10612328\",\n" +
                "\"11824388\",\n" +
                "\"12549485\",\n" +
                "\"12533104\",\n" +
                "\"11693146\",\n" +
                "\"12533107\",\n" +
                "\"12709445\",\n" +
                "\"12709471\",\n" +
                "\"10188645\",\n" +
                "\"10612312\",\n" +
                "\"10819954\",\n" +
                "\"11529242\",\n" +
                "\"11798347\",\n" +
                "\"12132963\",\n" +
                "\"10944632\",\n" +
                "\"11086357\",\n" +
                "\"10847808\",\n" +
                "\"11798342\",\n" +
                "\"11798365\",\n" +
                "\"10188641\",\n" +
                "\"11368714\",\n" +
                "\"11798353\",\n" +
                "\"12132982\",\n" +
                "\"10735390\",\n" +
                "\"12709448\",\n" +
                "\"11368739\",\n" +
                "\"9417013\",\n" +
                "\"12020307\",\n" +
                "\"10501125\",\n" +
                "\"10735376\",\n" +
                "\"11368715\",\n" +
                "\"11509037\",\n" +
                "\"10847807\",\n" +
                "\"11185518\",\n" +
                "\"11368729\",\n" +
                "\"11086349\",\n" +
                "\"10501124\",\n" +
                "\"12709446\",\n" +
                "\"10735383\",\n" +
                "\"10612313\",\n" +
                "\"10735375\",\n" +
                "\"11509043\",\n" +
                "\"10188653\",\n" +
                "\"10819923\",\n" +
                "\"12709458\",\n" +
                "\"10386545\",\n" +
                "\"12709460\",\n" +
                "\"11693147\",\n" +
                "\"11086372\",\n" +
                "\"10386549\",\n" +
                "\"11798352\",\n" +
                "\"11529244\",\n" +
                "\"11529243\",\n" +
                "\"12709462\",\n" +
                "\"10735391\",\n" +
                "\"11798344\",\n" +
                "\"11086373\",\n" +
                "\"10501104\",\n" +
                "\"10188643\",\n" +
                "\"10386561\",\n" +
                "\"11368731\",\n" +
                "\"10386554\",\n" +
                "\"10386541\",\n" +
                "\"11086344\",\n" +
                "\"10188664\",\n" +
                "\"11086355\",\n" +
                "\"11396468\",\n" +
                "\"12132956\",\n" +
                "\"12387647\",\n" +
                "\"11509061\",\n" +
                "\"11667914\",\n" +
                "\"10735378\",\n" +
                "\"10386540\",\n" +
                "\"12132981\",\n" +
                "\"11784645\",\n" +
                "\"11656957\",\n" +
                "\"12504407\",\n" +
                "\"10609812\",\n" +
                "\"12504406\",\n" +
                "\"10609851\",\n" +
                "\"11784621\",\n" +
                "\"12504408\",\n" +
                "\"11784664\",\n" +
                "\"11784636\",\n" +
                "\"12504413\",\n" +
                "\"11784652\",\n" +
                "\"12504405\",\n" +
                "\"10609829\",\n" +
                "\"11191553\",\n" +
                "\"10609807\",\n" +
                "\"12504415\",\n" +
                "\"11656959\",\n" +
                "\"11191575\",\n" +
                "\"12504421\",\n" +
                "\"11191556\",\n" +
                "\"11784656\",\n" +
                "\"12504388\",\n" +
                "\"11191565\",\n" +
                "\"12504417\",\n" +
                "\"12504457\",\n" +
                "\"11656958\",\n" +
                "\"11191550\",\n" +
                "\"11784646\",\n" +
                "\"11657825\",\n" +
                "\"10609831\",\n" +
                "\"12504412\",\n" +
                "\"11191531\",\n" +
                "\"10609859\",\n" +
                "\"10609836\",\n" +
                "\"11191577\",\n" +
                "\"10609842\",\n" +
                "\"11191555\",\n" +
                "\"11657826\",\n" +
                "\"11659182\",\n" +
                "\"11784643\",\n" +
                "\"11191557\",\n" +
                "\"11784616\",\n" +
                "\"10609823\",\n" +
                "\"10609810\",\n" +
                "\"11191536\",\n" +
                "\"12504436\",\n" +
                "\"11784633\",\n" +
                "\"12504398\",\n" +
                "\"11654535\",\n" +
                "\"11784641\",\n" +
                "\"11191574\",\n" +
                "\"11191551\",\n" +
                "\"11191560\",\n" +
                "\"11784672\",\n" +
                "\"11784653\",\n" +
                "\"10609854\",\n" +
                "\"11191552\",\n" +
                "\"10609809\",\n" +
                "\"10609860\",\n" +
                "\"11657827\",\n" +
                "\"11191534\",\n" +
                "\"10609856\",\n" +
                "\"10609830\",\n" +
                "\"12504414\",\n" +
                "\"12504449\",\n" +
                "\"10609832\",\n" +
                "\"11191559\",\n" +
                "\"11784651\",\n" +
                "\"11784673\",\n" +
                "\"11663311\",\n" +
                "\"12504416\",\n" +
                "\"12504441\",\n" +
                "\"12504389\",\n" +
                "\"11784620\",\n" +
                "\"11784644\",\n" +
                "\"11784642\",\n" +
                "\"12504427\",\n" +
                "\"12504409\",\n" +
                "\"12504393\",\n" +
                "\"11663310\",\n" +
                "\"12504391\",\n" +
                "\"12504460\",\n" +
                "\"11191576\",\n" +
                "\"11784639\",\n" +
                "\"11191530\",\n" +
                "\"11784640\",\n" +
                "\"11191563\",\n" +
                "\"11784650\",\n" +
                "\"12504420\",\n" +
                "\"11784671\",\n" +
                "\"11784654\",\n" +
                "\"11784638\",\n" +
                "\"11784618\",\n" +
                "\"10609837\",\n" +
                "\"12504410\",\n" +
                "\"11653929\",\n" +
                "\"11191562\",\n" +
                "\"11784617\",\n" +
                "\"11784649\",\n" +
                "\"11191532\",\n" +
                "\"12504448\",\n" +
                "\"12504432\",\n" +
                "\"10609833\",\n" +
                "\"11191554\"\n" +
                "      ]\n" +
                "    }\n" +
                "  }\n" +
                "}");

        readEsMap.put("es.resource","dm_map_literature_1");
//        readEsMap.put("es.read.field.include","expiry_date");
        JavaPairRDD<String, String> returnRDD = JavaEsSpark.esJsonRDD(jsc, readEsMap);
        JavaPairRDD<String, Map<String, Object>> newRDD = returnRDD.mapToPair(new PairFunction<Tuple2<String, String>, String, Map<String, Object>>() {
            @Override
            public Tuple2<String, Map<String, Object>> call(Tuple2<String, String> stringStringTuple2) throws Exception {
                String key_id = stringStringTuple2._1;
                String s = stringStringTuple2._2;
                Map<String, Object> innerMap = JSON.parseObject(s).getInnerMap();
//                Object expiry_date = innerMap.get("expiry_date");
//                Object expiry_date_new = EFFECTIVE_DATE_RANGE_CHECK(expiry_date, "1995-04-01", "1");
//                innerMap.put("expiry_date",expiry_date_new);
                return new Tuple2<>(key_id,innerMap);
            }
        });
        newRDD.foreach(new VoidFunction<Tuple2<String, Map<String, Object>>>() {
            @Override
            public void call(Tuple2<String, Map<String, Object>> stringMapTuple2) throws Exception {
                System.out.println(stringMapTuple2._2.get("author") + "," + stringMapTuple2._2.get("journal") + "," + stringMapTuple2._2.get("title"));
//                File writename = new File("E:\\公司\\学习\\output.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件
//                writename.createNewFile(); // 创建新文件
////                BufferedWriter out = new BufferedWriter(new FileWriter(writename));
//                BufferedWriter out = null;
//                out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(writename, true)));
//                out.write(stringMapTuple2._2.get("publish_year") + "\r\n"); // \r\n即为换行
//                out.flush(); // 把缓存区内容压入文件
//                out.close(); // 最后记得关闭文件
            }
        });
    }

    public static Object EFFECTIVE_DATE_RANGE_CHECK(Object date, Object year,Object last_year) throws ParseException {
        /*int yearInt = 50;
        if (year instanceof String) {
            try {
                yearInt = Integer.parseInt((String) year);
            } catch (NumberFormatException e) {
                e.printStackTrace();
            }
        }*/
        String str_last_year = String.valueOf(last_year);
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Date max_date = null;
        if(str_last_year.equals("1")){
            max_date = new Date();
            System.out.println(df.format(max_date));
        }else if (str_last_year.contains("+")){
//            yearInt * 365 * 24 * 60 * 60 * 1000
            int later_int = Integer.valueOf(StringUtils.split(str_last_year,"+")[1]);
            Date date1 = new Date();

            max_date = new Date(date1.getTime() + (long)later_int * 365 * 24 * 60 * 60 * 1000);
            String format = df.format(max_date);
            System.out.println(format);
        } else{
            max_date = df.parse(String.valueOf(last_year));
        }
        // new Date()为获取当前系统时间
        Date min_date = df.parse(String.valueOf(year));

//        Date today = new Date();
        if (date instanceof String) {
            if ("".equals(date) || "".equals(((String) date).trim())) {
                return null;
            } else if (FORMATE_YMD(date) == null) {
                return null;
            } else {
                String date_string = (String) FORMATE_YMD(date);
                if (df.parse(date_string).getTime() < min_date.getTime() || df.parse(date_string).getTime() > max_date.getTime()) {
                    return null;
                }
                /*else if (df.parse(date_string).getTime() > today.getTime()) {
                    return null;
                }*/
            }
        }
        return date;
    }

    public static Object FORMATE_YMD(Object obj) {
        if (obj instanceof String) {
            if ("".equals(obj) || "".equals(((String) obj).trim())) {
                return null;
            }
            try {
                String parsestr = FunndingUtils.format_date((String) obj);
                // System.out.println(parsestr);
                if (parsestr != null && parsestr.length() > 10) parsestr = parsestr.substring(0, 10);
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                try {
                    format.setLenient(false);
                    format.parse(parsestr);
                } catch (Exception e) {
                    return null;
                }
                if (!"-".equals(parsestr.substring(4, 5)) || !"-".equals(parsestr.substring(7, 8))) return null;
                if ("1000-01-01".equals(parsestr)) return null;
                return parsestr;
            } catch (Exception e) {
                return null;
            }
        } else return null;
    }

    private static void readNestedAndWrite(JavaSparkContext jsc) {
        Map<String, String> readEsMap = new HashMap<>();
//        readEsMap.put("es.query","{\"query\":{\"match_all\":{}}}");
        readEsMap.put("es.query","{\"query\":{\"term\":{\"certification_number\":{\"value\":\"429\"}}}}");
        readEsMap.put("es.resource","dm_map_drug_clinica_trials_institute");
        JavaPairRDD<String, String> returnRDD = JavaEsSpark.esJsonRDD(jsc, readEsMap);

        JavaPairRDD<String, Map<String, Object>> newRDD = returnRDD.mapToPair(new PairFunction<Tuple2<String, String>, String, Map<String, Object>>() {
            @Override
            public Tuple2<String, Map<String, Object>> call(Tuple2<String, String> stringStringTuple2) throws Exception {
                String key = stringStringTuple2._1;

                String dataJSONStr = stringStringTuple2._2;
                Map<String, Object> innerMap = JSON.parseObject(dataJSONStr).getInnerMap();


                String major = (String) innerMap.get("major");

                Object o = enrich_major_list(major);
                innerMap.put("major_list",o);

//                        item.put("main_investigator_new", investNameToNew((String) item.get("main_investigator")));
//                        item.put("organisation_name_new", organisationToNew((String) item.get("organisation_name")));
                return new Tuple2<>(key, innerMap);
            }
        });
        newRDD.foreach(new VoidFunction<Tuple2<String, Map<String, Object>>>() {
            @Override
            public void call(Tuple2<String, Map<String, Object>> stringMapTuple2) throws Exception {
                System.out.println(new Gson().toJson(stringMapTuple2._2));
            }
        });

//        String target =  "dm_map_drug_clinica_trials_institute/index"; //"{table}/{SYS_source_id}";
//        Map<String, String> flagConf = new HashMap<>();
//        flagConf.put("es.write.operation", "upsert");
//        flagConf.put("es.batch.size.bytes", "20mb");
//        flagConf.put("es.batch.size.entries", "6000");
//        flagConf.put("es.nodes", "192.168.100.100");
//
//        JavaEsSpark.saveToEsWithMeta(newRDD,target,flagConf);
    }

    public static Object enrich_major_list(String major){
        if (TextUtils.isVoidString(major)) {
            return null;
        }
        /*if (major.contains("(") || major.contains("(")){
            String regex_ = "(?<=\\()(\\S+)(?=\\))";
            Pattern pattern = Pattern.compile(regex_);
            Matcher matcher = pattern.matcher(major);
            if (matcher.find()) {
                int groupCount = matcher.groupCount();
                System.out.println(groupCount);
            }


            return null;
        }*/
//        String regex_str = "[^、\t]+((.*))?";
        String regex_1 = "[^()()\t、]+([((][^()()]+[))])?";
//        String regex_str = "(\\([^\\)]+\\))";
        Pattern pattern = Pattern.compile(regex_1);
        ArrayList<String> arrayList = new ArrayList<>();
        Matcher matcher = pattern.matcher(major);

        while (matcher.find()){
            arrayList.add(matcher.group());
        }



        return arrayList.stream()
                .map(unit -> {
                    Map<String, Object> map = Maps.newHashMapWithExpectedSize(1);
                    map.put("major_name", unit);
                    return map;
                }).collect(Collectors.toList());
    }
}
打赏作者
标签:

发表评论

邮箱地址不会被公开。 必填项已用*标注