static void indexShrink(){
			/*
			 * remove half old entries in the index
			 */
		 System.out.println("Index size before shrinking: "+index.size());
		 resultRecord.println("Index size before shrinking: "+index.size());
		 int max = index.size()/migratePara;
		 int count = 0;	 
		 Iterator<Entry<String, long[]>> iter = index.entrySet().iterator();
		 while (iter.hasNext()) {
		     Map.Entry<String, long[]> entry = iter.next();
		     long fingerprint = Long.parseLong(entry.getKey().substring(30),16);
		     if(check(fingerprint)){
		         iter.remove();
		         count++;
		         if(count>=max)
		        	 break;
		     }
		 }

		System.out.println("Index size after shrinking: "+index.size());	   
		resultRecord.println("Index size before shrinking: "+index.size());
		 
	 }