Package org.apache.lucene.codecs.bloom

# Class MurmurHash64

java.lang.Object
org.apache.lucene.codecs.bloom.HashFunction
org.apache.lucene.codecs.bloom.MurmurHash64

public class MurmurHash64 extends HashFunction
This is a very fast, non-cryptographic hash suitable for general hash-based lookup. See http://murmurhash.googlepages.com/ for more details.

The code from Apache Commons was adapted in the form here to work with BytesRefs with offsets and lengths rather than raw byte arrays.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final HashFunction`
`INSTANCE`

## Constructor Summary

Constructors
Constructor
Description
`MurmurHash64()`

## Method Summary

Modifier and Type
Method
Description
`final long`
`hash(BytesRef br)`
Hashes the contents of the referenced bytes
`static long`
`hash64(byte[] data, int seed, int offset, int length)`
Generates a 64-bit hash from byte array of the given length and seed.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### INSTANCE

public static final HashFunction INSTANCE

## Constructor Details

### MurmurHash64

public MurmurHash64()

## Method Details

### hash64

public static long hash64(byte[] data, int seed, int offset, int length)
Generates a 64-bit hash from byte array of the given length and seed.

Parameters:
  `data` - The input byte array
  `seed` - The initial seed value
  `length` - The length of the array
Returns:
  The 64-bit hash of the given array

### hash

public final long hash(BytesRef br)
Description copied from class: `HashFunction`
Hashes the contents of the referenced bytes

Specified by:
  `hash` in class `HashFunction`
Parameters:
  `br` - the data to be hashed
Returns:
  the hash of the bytes referenced by bytes.offset and length bytes.length

### toString

public String toString()

Overrides:
  `toString` in class `Object`