/// <summary> /// Constructor which takes segment suffix. /// </summary> /// <seealso cref="SegmentWriteState(InfoStream, Directory, SegmentInfo, FieldInfos, int, /// BufferedUpdates, IOContext)"/> public SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, int termIndexInterval, BufferedUpdates segUpdates, IOContext context, string segmentSuffix) { this.InfoStream = infoStream; this.SegUpdates = segUpdates; this.Directory = directory; this.SegmentInfo = segmentInfo; this.FieldInfos = fieldInfos; this.TermIndexInterval = termIndexInterval; this.SegmentSuffix = segmentSuffix; this.Context = context; }
/// <summary> /// Create a shallow copy of <see cref="SegmentWriteState"/> with a new segment suffix. </summary> public SegmentWriteState(SegmentWriteState state, string segmentSuffix) { InfoStream = state.InfoStream; Directory = state.Directory; SegmentInfo = state.SegmentInfo; FieldInfos = state.FieldInfos; TermIndexInterval = state.TermIndexInterval; Context = state.Context; this.SegmentSuffix = segmentSuffix; SegUpdates = state.SegUpdates; DelCountOnFlush = state.DelCountOnFlush; }
/// <summary> /// Save a single segment's info. </summary> public override void Write(Directory dir, SegmentInfo si, FieldInfos fis, IOContext ioContext) { string fileName = IndexFileNames.SegmentFileName(si.Name, "", Lucene46SegmentInfoFormat.SI_EXTENSION); si.AddFile(fileName); IndexOutput output = dir.CreateOutput(fileName, ioContext); bool success = false; try { CodecUtil.WriteHeader(output, Lucene46SegmentInfoFormat.CODEC_NAME, Lucene46SegmentInfoFormat.VERSION_CURRENT); // Write the Lucene version that created this segment, since 3.1 output.WriteString(si.Version); output.WriteInt32(si.DocCount); output.WriteByte((byte)(sbyte)(si.UseCompoundFile ? SegmentInfo.YES : SegmentInfo.NO)); output.WriteStringStringMap(si.Diagnostics); output.WriteStringSet(si.GetFiles()); CodecUtil.WriteFooter(output); success = true; } finally { if (!success) { IOUtils.DisposeWhileHandlingException(output); si.Dir.DeleteFile(fileName); } else { output.Dispose(); } } }
/// <summary> /// Returns a <see cref="StoredFieldsReader"/> to load stored /// fields. /// </summary> public abstract StoredFieldsReader FieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context);
/// <summary> /// Writes the provided <see cref="FieldInfos"/> to the /// directory. /// </summary> public abstract void Write(Directory directory, string segmentName, string segmentSuffix, FieldInfos infos, IOContext context);
public override StoredFieldsWriter FieldsWriter(Directory directory, SegmentInfo si, IOContext context) { return(new CompressingStoredFieldsWriter(directory, si, segmentSuffix, context, formatName, compressionMode, chunkSize)); }
public override StoredFieldsReader FieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context) { return(new CompressingStoredFieldsReader(directory, si, segmentSuffix, fn, context, formatName, compressionMode)); }
/// <summary> /// Returns a <see cref="TermVectorsWriter"/> to write term /// vectors. /// </summary> public abstract TermVectorsWriter VectorsWriter(Directory directory, SegmentInfo segmentInfo, IOContext context);
/// <summary> /// Read the <see cref="FieldInfos"/> previously written with /// <see cref="FieldInfosWriter"/>. /// </summary> public abstract FieldInfos Read(Directory directory, string segmentName, string segmentSuffix, IOContext iocontext);
public override StoredFieldsReader FieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context) { return(new Lucene40StoredFieldsReader(directory, si, fn, context)); }
/// <summary> /// Create a <see cref="SegmentReadState"/>. </summary> public SegmentReadState(Directory dir, SegmentInfo info, FieldInfos fieldInfos, IOContext context, int termsIndexDivisor, string segmentSuffix) { this.Directory = dir; this.SegmentInfo = info; this.FieldInfos = fieldInfos; this.Context = context; this.TermsIndexDivisor = termsIndexDivisor; this.SegmentSuffix = segmentSuffix; }
/// <summary> /// Create a <see cref="SegmentReadState"/>. </summary> public SegmentReadState(Directory dir, SegmentInfo info, FieldInfos fieldInfos, IOContext context, int termsIndexDivisor) : this(dir, info, fieldInfos, context, termsIndexDivisor, "") { }
/// <summary> /// Sole constructor. </summary> public SegmentWriteState(InfoStream infoStream, Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, int termIndexInterval, BufferedUpdates segUpdates, IOContext context) : this(infoStream, directory, segmentInfo, fieldInfos, termIndexInterval, segUpdates, context, "") { }
public override TermVectorsWriter VectorsWriter(Directory directory, SegmentInfo segmentInfo, IOContext context) { return(new Lucene40TermVectorsWriter(directory, segmentInfo.Name, context)); }
public override TermVectorsReader VectorsReader(Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, IOContext context) { return(new Lucene40TermVectorsReader(directory, segmentInfo, fieldInfos, context)); }
/// <summary> /// Returns a <see cref="StoredFieldsWriter"/> to write stored /// fields. /// </summary> public abstract StoredFieldsWriter FieldsWriter(Directory directory, SegmentInfo si, IOContext context);
/// <summary> /// Write <see cref="SegmentInfo"/> data. </summary> /// <exception cref="System.IO.IOException"> If an I/O error occurs. </exception> public abstract void Write(Directory dir, SegmentInfo info, FieldInfos fis, IOContext ioContext);
/// <summary> /// Returns a <see cref="TermVectorsReader"/> to read term /// vectors. /// </summary> public abstract TermVectorsReader VectorsReader(Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, IOContext context);
public override StoredFieldsWriter FieldsWriter(Directory directory, SegmentInfo si, IOContext context) { return(new Lucene40StoredFieldsWriter(directory, si.Name, context)); }
/// <summary> /// Read <see cref="SegmentInfo"/> data from a directory. </summary> /// <param name="directory"> Directory to read from. </param> /// <param name="segmentName"> Name of the segment to read. </param> /// <param name="context"> IO context. </param> /// <returns> Infos instance to be populated with data. </returns> /// <exception cref="System.IO.IOException"> If an I/O error occurs. </exception> public abstract SegmentInfo Read(Directory directory, string segmentName, IOContext context);