BytesRefHash 通过hash的方式写入BytesRef ,每写入BytesRef先hash,在ids中对应位置找,如果位置为-1,没有写入,否则就是已存在,可以通过对应的值在bytesStart中找到起始位置
hashcode=findHash(BytesRef)
index=ids[hashcode]
bytestart=bytesStart[index]
写入BytesRef的字节前会先写入长度,每次先读取长度,然后按读取的长度继续往后在ByteBlockPool查找到指定位置
final ByteBlockPool pool;//存放数据
int[] bytesStart;//每个BytesRef的起始位置
private final BytesRef scratch1 = new BytesRef