IndexReader reader = IndexReader.open(indexWriter, true);
HashedStringFieldType type = new HashedStringFieldType(new HashedStringFieldData.HashedStringTypeLoader(0,0, null, null));
SingleValueHashedStringFieldData sFieldData = (SingleValueHashedStringFieldData) type.load(reader, "svalue");
assertThat(sFieldData.fieldName(), equalTo("svalue"));
assertThat(sFieldData.multiValued(), equalTo(false));
assertThat(sFieldData.collisions(),equalTo(0));
int[] sortedValues = Arrays.copyOf(sFieldData.values(),
sFieldData.values().length);
Arrays.sort(sortedValues,1,sortedValues.length);
assertThat("Internal values of field data are not sorted!",
sFieldData.values(), equalTo(sortedValues));
assertThat(sFieldData.hasValue(0), equalTo(false));// first doc had no
// value!
for (int i = 0; i < 100; i++) {
int docId = i + 1;
assertThat(sFieldData.hasValue(docId), equalTo(true));
String term = String.format("term_%s", i);
assertHash(term, sFieldData.hashValue(docId));
final ArrayList<Integer> values = new ArrayList<Integer>();
getDocHashes(docId, sFieldData, values);
assertThat(values.size(), equalTo(1));