/** Create a new field, or return existing one. */ public FieldInfo getOrAdd(String name) { FieldInfo fi = fieldInfo(name); if (fi == null) { assert assertNotFinished(); // This field wasn't yet added to this in-RAM // segment's FieldInfo, so now we get a global // number for this field. If the field was seen // before then we'll get the same name and number, // else we'll allocate a new one: final boolean isSoftDeletesField = name.equals(globalFieldNumbers.softDeletesFieldName); final int fieldNumber = globalFieldNumbers.addOrGet(name, -1, DocValuesType.NONE, 0, 0, 0, isSoftDeletesField); fi = new FieldInfo(name, fieldNumber, false, false, false, IndexOptions.NONE, DocValuesType.NONE, -1, new HashMap<>(), 0, 0, 0, isSoftDeletesField); assert !byName.containsKey(fi.name); globalFieldNumbers.verifyConsistent(Integer.valueOf(fi.number), fi.name, DocValuesType.NONE); byName.put(fi.name, fi); } return fi; }
fi = new FieldInfo(name, fieldNumber, storeTermVector, omitNorms, storePayloads, indexOptions, docValues, dvGen, new HashMap<>(), dataDimensionCount, indexDimensionCount, dimensionNumBytes, isSoftDeletesField); assert !byName.containsKey(fi.name); globalFieldNumbers.verifyConsistent(Integer.valueOf(fi.number), fi.name, fi.getDocValuesType());
infos[i] = new FieldInfo(name, fieldNumber, storeTermVector, omitNorms, storePayloads, indexOptions, docValuesType, dvGen, attributes, 0, 0, 0, false); infos[i].checkConsistency();
infos[i] = new FieldInfo(name, fieldNumber, storeTermVector, omitNorms, storePayloads, indexOptions, docValuesType, dvGen, attributes, pointDataDimensionCount, pointIndexDimensionCount, pointNumBytes, isSoftDeletesField);
private void addInternal(String name, boolean isIndexed, boolean storeTermVector) { FieldInfo fi = new FieldInfo(name, isIndexed, byNumber.size(), storeTermVector); byNumber.add(fi); byName.put(name, fi); }
private FieldInfo addInternal(String name, boolean isIndexed, boolean storeTermVector, boolean storePositionWithTermVector, boolean storeOffsetWithTermVector, boolean omitNorms, boolean storePayloads, boolean omitTf) { FieldInfo fi = new FieldInfo(name, isIndexed, byNumber.size(), storeTermVector, storePositionWithTermVector, storeOffsetWithTermVector, omitNorms, storePayloads, omitTf); byNumber.add(fi); byName.put(name, fi); return fi; }
private FieldInfo addInternal(String name, boolean isIndexed, boolean storeTermVector, boolean storePositionWithTermVector, boolean storeOffsetWithTermVector, boolean omitNorms, boolean storePayloads, boolean omitTf) { FieldInfo fi = new FieldInfo(name, isIndexed, byNumber.size(), storeTermVector, storePositionWithTermVector, storeOffsetWithTermVector, omitNorms, storePayloads, omitTf); byNumber.add(fi); byName.put(name, fi); return fi; }
public FieldInfo toFieldInfo() { FieldInfo fi = new FieldInfo(this.name, this.fieldNumber, this.storeTermVector, this.omitNorms, this.storePayloads, this.indexOptions, this.docValuesType, this.dvGen, this.attributes, this.pointDimensionCount, this.pointNumBytes); fi.checkConsistency(); return fi; }
private FieldInfo makeFieldInfo(int number) { return new FieldInfo("name" + number, number, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); } }
static FieldInfo forgeFieldInfo(String fieldName) { //Specific options besides the field name aren't important: //we just need to satisfy the constructor return new FieldInfo( fieldName, 0, false, true, false, IndexOptions.DOCS, DocValuesType.SORTED, 1L, Collections.<String,String>emptyMap() ); }
private FieldInfo makeFieldInfo(int number) { return new FieldInfo("name" + number, number, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); } }
private FieldInfo createFieldInfo(String fieldName, int ord, IndexableFieldType fieldType) { IndexOptions indexOptions = storeOffsets ? IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS : IndexOptions.DOCS_AND_FREQS_AND_POSITIONS; return new FieldInfo(fieldName, ord, fieldType.storeTermVectors(), fieldType.omitNorms(), storePayloads, indexOptions, fieldType.docValuesType(), -1, Collections.emptyMap(), fieldType.pointDataDimensionCount(), fieldType.pointIndexDimensionCount(), fieldType.pointNumBytes(), false); }
@Test public void testNoEqualDocValue() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); assertNotEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertFalse(FieldInfoCache.equals(f1, f2)); }
@Test public void testEqual() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); assertEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertTrue(FieldInfoCache.equals(f1, f2)); }
@Test public void testNoEqualNumber() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f1", 2, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); assertNotEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertFalse(FieldInfoCache.equals(f1, f2)); }
@Test public void testNoEqualName() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f2", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); assertNotEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertFalse(FieldInfoCache.equals(f1, f2)); }
@Test public void testNoEqualNumber() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f1", 2, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); assertNotEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertFalse(FieldInfoCache.equals(f1, f2)); }
@Test public void testEqual() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); assertEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertTrue(FieldInfoCache.equals(f1, f2)); }
@Test public void testNoEqualDocValue() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, 1, Collections.emptyMap(), 7, 7); assertNotEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertFalse(FieldInfoCache.equals(f1, f2)); }
@Test public void testNoEqualName() { FieldInfo f1 = new FieldInfo("f1", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); FieldInfo f2 = new FieldInfo("f2", 1, false, false, true, IndexOptions.NONE, DocValuesType.NUMERIC, -1, Collections.emptyMap(), 7, 7); assertNotEquals(FieldInfoCache.hashCode(f1), FieldInfoCache.hashCode(f2)); assertFalse(FieldInfoCache.equals(f1, f2)); }