public override void Dispose() { foreach (var node in _dirty) { var ixFileName = Path.Combine(SessionFactory.Dir, string.Format("{0}.{1}.ix", CollectionId, node.Key)); var tmpFileName = string.Format("{0}.tmp_ix", Path.GetFileNameWithoutExtension(ixFileName)); using (var indexStream = new FileStream( tmpFileName, FileMode.Append, FileAccess.Write, FileShare.None)) { node.Value.Serialize(indexStream, VectorStream, PostingsStream); } SessionFactory.RefreshIndex(CollectionId, node.Key, node.Value); File.Copy(tmpFileName, ixFileName, overwrite: true); File.Delete(tmpFileName); } ValueStream.Flush(); KeyStream.Flush(); DocStream.Flush(); ValueIndexStream.Flush(); KeyIndexStream.Flush(); DocIndexStream.Flush(); PostingsStream.Flush(); VectorStream.Flush(); base.Dispose(); }
public virtual void Dispose() { if (ValueStream != null) { ValueStream.Dispose(); } if (KeyStream != null) { KeyStream.Dispose(); } if (DocStream != null) { DocStream.Dispose(); } if (ValueIndexStream != null) { ValueIndexStream.Dispose(); } if (KeyIndexStream != null) { KeyIndexStream.Dispose(); } if (DocIndexStream != null) { DocIndexStream.Dispose(); } }
public override void Dispose() { base.Dispose(); if (DocStream != null) { DocStream.Dispose(); } if (DocIndexStream != null) { DocIndexStream.Dispose(); } }
public virtual void Dispose() { ValueStream.Dispose(); KeyStream.Dispose(); DocStream.Dispose(); ValueIndexStream.Dispose(); KeyIndexStream.Dispose(); DocIndexStream.Dispose(); if (PostingsStream != null) { PostingsStream.Dispose(); } if (VectorStream != null) { VectorStream.Dispose(); } }
public override void Dispose() { foreach (var node in _dirty) { var fn = Path.Combine(Dir, node.Key + ".ix"); var fileMode = File.Exists(fn) ? FileMode.Truncate : FileMode.Append; using (var stream = new FileStream(fn, fileMode, FileAccess.Write, FileShare.None)) { node.Value.Serialize(stream, VectorStream, PostingsStream); } } ValueStream.Flush(); KeyStream.Flush(); DocStream.Flush(); ValueIndexStream.Flush(); KeyIndexStream.Flush(); DocIndexStream.Flush(); PostingsStream.Flush(); VectorStream.Flush(); base.Dispose(); }