docs: private void loadIDFMap(Map<String,Double> map, InputStream in ){
  		BufferedReader bufr;
  		try
  		{
  			bufr = new BufferedReader(new InputStreamReader(in));
  			String line=null;
  			while((line=bufr.readLine())!=null) {
  				String[] kv=line.trim().split(" ");
  				map.put(kv[0],Double.parseDouble(kv[1]));
  			}
  			try
  			{
  				bufr.close();
  			}
  			catch (IOException e)
  			{
  				e.printStackTrace();
  			}
  			
  			// 计算idf值的中位数
  			List<Double> idfList=new ArrayList<>(map.values());
  			Collections.sort(idfList);
  			idfMedian=idfList.get(idfList.size()/2);
  		}
  		catch (Exception e)
  		{
  			e.printStackTrace();
  		}
  	}