// Currently, this instance is re-used across fields, so // our parent calls setField whenever the field changes public override int SetField(FieldInfo fieldInfo) { this.fieldInfo = fieldInfo; this.indexOptions = fieldInfo.IndexOptions; if (indexOptions.CompareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0) { throw new System.NotSupportedException("this codec cannot index offsets"); } skipListWriter.SetIndexOptions(indexOptions); storePayloads = indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS && fieldInfo.HasPayloads; lastPayloadFP = 0; lastSkipFP = 0; lastState = SetEmptyState(); return(0); }
// Currently, this instance is re-used across fields, so // our parent calls setField whenever the field changes public override int SetField(FieldInfo fieldInfo) { this.fieldInfo = fieldInfo; this.indexOptions = fieldInfo.IndexOptions; // LUCENENET specific - to avoid boxing, changed from CompareTo() to IndexOptionsComparer.Compare() if (IndexOptionsComparer.Default.Compare(indexOptions, IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0) { throw new NotSupportedException("this codec cannot index offsets"); } skipListWriter.SetIndexOptions(indexOptions); storePayloads = indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS && fieldInfo.HasPayloads; lastPayloadFP = 0; lastSkipFP = 0; lastState = SetEmptyState(); return(0); }