public override int SetField(FieldInfo fieldInfo) { FieldInfo.IndexOptions?indexOptions = fieldInfo.FieldIndexOptions; FieldHasFreqs = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS; FieldHasPositions = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS; FieldHasOffsets = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS; FieldHasPayloads = fieldInfo.HasPayloads(); SkipWriter.SetField(FieldHasPositions, FieldHasOffsets, FieldHasPayloads); LastState = EmptyState; if (FieldHasPositions) { if (FieldHasPayloads || FieldHasOffsets) { return(3); // doc + pos + pay FP } else { return(2); // doc + pos FP } } else { return(1); // doc FP } }
public override int SetField(FieldInfo fieldInfo) { FieldInfo.IndexOptions? indexOptions = fieldInfo.FieldIndexOptions; FieldHasFreqs = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS; FieldHasPositions = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS; FieldHasOffsets = indexOptions >= FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS; FieldHasPayloads = fieldInfo.HasPayloads(); SkipWriter.SetField(FieldHasPositions, FieldHasOffsets, FieldHasPayloads); LastState = EmptyState; if (FieldHasPositions) { if (FieldHasPayloads || FieldHasOffsets) { return 3; // doc + pos + pay FP } else { return 2; // doc + pos FP } } else { return 1; // doc FP } }
public override bool HasPayloads() { return(_fieldInfo.HasPayloads()); }