- java.lang.Object
-
- org.apache.lucene.index.FieldInfos.FieldNumbers
-
- Enclosing class:
- FieldInfos
static final class FieldInfos.FieldNumbers extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,FieldInfos.FieldDimensions>
dimensions
private java.util.Map<java.lang.String,DocValuesType>
docValuesType
private java.util.Map<java.lang.String,IndexOptions>
indexOptions
private int
lowestUnassignedFieldNumber
private java.util.Map<java.lang.String,java.lang.Integer>
nameToNumber
private IntObjectHashMap<java.lang.String>
numberToName
private java.util.Map<java.lang.String,java.lang.Boolean>
omitNorms
private java.lang.String
parentFieldName
private java.lang.String
softDeletesFieldName
private java.util.Map<java.lang.String,java.lang.Boolean>
storeTermVectors
private boolean
strictlyConsistent
private java.util.Map<java.lang.String,FieldInfos.FieldVectorProperties>
vectorProps
-
Constructor Summary
Constructors Constructor Description FieldNumbers(java.lang.String softDeletesFieldName, java.lang.String parentFieldName, int indexCreatedVersionMajor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
addOrGet(FieldInfo fi)
Returns the global field number for the given field name.(package private) void
clear()
(package private) FieldInfo
constructFieldInfo(java.lang.String fieldName, DocValuesType dvType, int newFieldNumber)
Construct a new FieldInfo based on the options in global field numbers.(package private) java.util.Set<java.lang.String>
getFieldNames()
(package private) void
setDocValuesType(int number, java.lang.String name, DocValuesType dvType)
(package private) void
verifyConsistent(java.lang.Integer number, java.lang.String name, DocValuesType dvType)
(package private) void
verifyFieldInfo(FieldInfo fi)
(package private) void
verifyOrCreateDvOnlyField(java.lang.String fieldName, DocValuesType dvType, boolean fieldMustExist)
This function is called fromIndexWriter
to verify if doc values of the field can be updated.private void
verifyParentFieldName(java.lang.String fieldName, boolean isParentField)
private void
verifySameSchema(FieldInfo fi)
private void
verifySoftDeletedFieldName(java.lang.String fieldName, boolean isSoftDeletesField)
-
-
-
Field Detail
-
numberToName
private final IntObjectHashMap<java.lang.String> numberToName
-
nameToNumber
private final java.util.Map<java.lang.String,java.lang.Integer> nameToNumber
-
indexOptions
private final java.util.Map<java.lang.String,IndexOptions> indexOptions
-
docValuesType
private final java.util.Map<java.lang.String,DocValuesType> docValuesType
-
dimensions
private final java.util.Map<java.lang.String,FieldInfos.FieldDimensions> dimensions
-
vectorProps
private final java.util.Map<java.lang.String,FieldInfos.FieldVectorProperties> vectorProps
-
omitNorms
private final java.util.Map<java.lang.String,java.lang.Boolean> omitNorms
-
storeTermVectors
private final java.util.Map<java.lang.String,java.lang.Boolean> storeTermVectors
-
lowestUnassignedFieldNumber
private int lowestUnassignedFieldNumber
-
softDeletesFieldName
private final java.lang.String softDeletesFieldName
-
strictlyConsistent
private final boolean strictlyConsistent
-
parentFieldName
private final java.lang.String parentFieldName
-
-
Method Detail
-
verifyFieldInfo
void verifyFieldInfo(FieldInfo fi)
-
addOrGet
int addOrGet(FieldInfo fi)
Returns the global field number for the given field name. If the name does not exist yet it tries to add it with the given preferred field number assigned if possible otherwise the first unassigned field number is used as the field number.
-
verifySoftDeletedFieldName
private void verifySoftDeletedFieldName(java.lang.String fieldName, boolean isSoftDeletesField)
-
verifyParentFieldName
private void verifyParentFieldName(java.lang.String fieldName, boolean isParentField)
-
verifySameSchema
private void verifySameSchema(FieldInfo fi)
-
verifyOrCreateDvOnlyField
void verifyOrCreateDvOnlyField(java.lang.String fieldName, DocValuesType dvType, boolean fieldMustExist)
This function is called fromIndexWriter
to verify if doc values of the field can be updated. If the field with this name already exists, we verify that it is doc values only field. If the field doesn't exists and the parameter fieldMustExist is false, we create a new field in the global field numbers.- Parameters:
fieldName
- - name of the fielddvType
- - expected doc values typefieldMustExist
- – if the field must exist.- Throws:
java.lang.IllegalArgumentException
- if the field must exist, but it doesn't, or if the field exists, but it is not doc values only field with the provided doc values type.
-
constructFieldInfo
FieldInfo constructFieldInfo(java.lang.String fieldName, DocValuesType dvType, int newFieldNumber)
Construct a new FieldInfo based on the options in global field numbers. This method is not synchronized as all the options it uses are not modifiable.- Parameters:
fieldName
- name of the fielddvType
- doc values typenewFieldNumber
- a new field number- Returns:
null
iffieldName
doesn't exist in the map or is not of the samedvType
returns a new FieldInfo based based on the options in global field numbers
-
setDocValuesType
void setDocValuesType(int number, java.lang.String name, DocValuesType dvType)
-
verifyConsistent
void verifyConsistent(java.lang.Integer number, java.lang.String name, DocValuesType dvType)
-
getFieldNames
java.util.Set<java.lang.String> getFieldNames()
-
clear
void clear()
-
-