public void store(Long simhash) {
		final int fracCount = this.fracCount;
		final List<Map<String, List<Long>>> storage = this.storage;
		final List<String> lFrac = splitSimhash(simhash);
		
		String frac;
		Map<String, List<Long>> fracMap;
		final WriteLock writeLock = this.lock.writeLock();
		writeLock.lock();
		try {
			for (int i = 0; i < fracCount; i++) {
				frac = lFrac.get(i);
				fracMap = storage.get(i);
				if (fracMap.containsKey(frac)) {
					fracMap.get(frac).add(simhash);
				} else {
					final List<Long> ls = new ArrayList<Long>();
					ls.add(simhash);
					fracMap.put(frac, ls);
				}
			}
		} finally {
			writeLock.unlock();
		}
	}
public void store ( Long simhash ) { final int fracCount = this . fracCount ; final List < Map < String , List < Long > > > storage = this . storage ; final List < String > lFrac = splitSimhash ( simhash ) ; String frac ; Map < String , List < Long > > fracMap ; final WriteLock writeLock = this . lock . writeLock ( ) ; writeLock . lock ( ) ; try { for ( int i = 0 ; i < fracCount ; i ++ ) { frac = lFrac . get ( i ) ; fracMap = storage . get ( i ) ; if ( fracMap . containsKey ( frac ) ) { fracMap . get ( frac ) . add ( simhash ) ; } else { final List < Long > ls = new ArrayList < Long > ( ) ; ls . add ( simhash ) ; fracMap . put ( frac , ls ) ; } } } finally { writeLock . unlock ( ) ; } }
按照(frac, <simhash, content>)索引进行存储

@param simhash Simhash值