protected override void DoStart() { base.DoStart(); indexInfo = new PersistentIndexInfo(Folder, PersistentIndex.FileNameInfo); fields = PersistentMetadataFactory.CreateStorage(name.FieldsType, Folder, PersistentIndex.FileNameFields); occurrenceWriter = new PostingListWriter(Folder, PersistentIndex.FileNamePostingLists); dictionaryWriter = new PersistentDictionary(Folder, PersistentIndex.FileNameDictionary, PersistentIndex.FileNamePostingLists); dictionaryUpdate = dictionaryWriter.BeginUpdate(); updates = 0; }
public PersistentIndex(PersistentIndexName name) { var folder = name.Folder; if (!PersistentIndexInfo.Exists(folder, FileNameInfo)) { throw new InvalidOperationException("No index"); } HeaderReader = new PersistentIndexInfo(folder, FileNameInfo); Header = HeaderReader.Read(); if (Header == null) { throw new InvalidOperationException("No index"); } Dictionary = new PersistentDictionary(folder, FileNameDictionary, FileNamePostingLists); PostingLists = new PostingListReader(folder, FileNamePostingLists); Fields = PersistentMetadataFactory.CreateStorage(Header.Type.Split(' ')[1], folder, FileNameFields); this.name = name; }