private void PutPostingsInContainer(PostingsFile posting) { var containerId = posting.Field.ToPostingsContainerId(); PostingsContainer container; if (!_postingsContainers.TryGetValue(containerId, out container)) { container = new PostingsContainer(_directory, containerId); } container.Put(posting); _postingsContainers[container.Id] = container; }
private PostingsFile GetPostingsFile(string field, string token) { var containerId = field.ToPostingsContainerId(); PostingsContainer container; if (!_postingContainers.TryGetValue(containerId, out container)) { container = new PostingsContainer(_directory, containerId, eager: false); _postingContainers[containerId] = container; } return(container.Get(token)); }
private PostingsFile GetPostingsFile(string field, string token) { var fieldTokenId = string.Format("{0}.{1}", field, token); PostingsFile file; if (!_postingsFiles.TryGetValue(fieldTokenId, out file)) { var containerId = field.ToPostingsContainerId(); PostingsContainer container; if (!_postingsContainers.TryGetValue(containerId, out container)) { container = new PostingsContainer(_directory, containerId); } _postingsContainers[containerId] = container; if (!container.TryGet(token, out file)) { file = new PostingsFile(field, token); } _postingsFiles[fieldTokenId] = file; } return(file); }