public static Set<String> computeHashIndex(long docHash){
  int bandIndex=0;
  BitSet bitRange=new BitSet(BAND_WIDTH);
  int bitsWidthCounter=0;
  Set<String> bandBitset=new HashSet<>();
  for (int i=0; i < HASH_LENGTH; ++i) {
    bitRange.set(bitsWidthCounter,((docHash >> i) & 1) == 1);
    if (bitsWidthCounter++ == BAND_WIDTH) {
      bandBitset.add(bandIndex + "_" + bitRange.toString());
      bitsWidthCounter=0;
      bitRange=new BitSet(BAND_WIDTH);
      bandIndex++;
    }
  }
  return bandBitset;
}

public static Set < String > computeHashIndex ( long docHash ) { int bandIndex = 0 ; BitSet bitRange = new BitSet ( BAND_WIDTH ) ; int bitsWidthCounter = 0 ; Set < String > bandBitset = new HashSet < > ( ) ; for ( int i = 0 ; i < HASH_LENGTH ; ++ i ) { bitRange . set ( bitsWidthCounter , ( ( docHash > > i ) & 1 ) == 1 ) ; if ( bitsWidthCounter ++ == BAND_WIDTH ) { bandBitset . add ( bandIndex + "_" + bitRange . toString ( ) ) ; bitsWidthCounter = 0 ; bitRange = new BitSet ( BAND_WIDTH ) ; bandIndex ++ ; } } return bandBitset ; }
divide the 64 - bit hash into 4 bit ranges of 16 bits . it will be used to get similar candidates .
