| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 
 |  
	    int maxDoc = Math.min(hits.length(), 1000);
	    int i ;
	    start = new Date().getTime();
 
            // cette Map me sert à construire le Hash "interne"
	    Map map = new HashMap();
           // Ma structure finale Hash de Hash
	    Map complexMap = new HashMap();
 
	    Integer ONE = new Integer(1);
 
	    for (i = 0; i < maxDoc; i++) {
	      Document doc = hits.doc(i);	      
	      for(Enumeration fields = doc.fields(); fields.hasMoreElements();) {
		      Field field = (Field)fields.nextElement();                  
		      String name = field.name();
 
		      // Ici je récupère la map correspondant à la clé courante
                      map = (Map)complexMap.get(name);
		      if (map == null) {
		           map = new HashMap();
		      }
	    	  String [] keys = doc.getValues(name);
		      if (keys != null) {
			      for (int j = 0; j < keys.length; j++) {
					Integer frequency = (Integer)map.get(keys[j]);
					if (frequency == null) {
						frequency = ONE;
					} else {
						int value = frequency.intValue();
						frequency = new Integer(value + 1);
					}
				      // Je met à jour la fréquence de la clé courante
                                      map.put(keys[j], frequency);
 
                                      // Je met à jour mon hash de hash
				      complexMap.put(name, map);
			      }
		      }	    	  
	      } | 
Partager