public Searcher(IReadSessionFactory sessionFactory) { _parser = new QueryParser(); _scorerFactory = new TfIdfFactory(); _versions = Util.GetIndexVersionListInChronologicalOrder(sessionFactory.DirectoryName); _blockSize = BlockSerializer.SizeOfBlock(); _sessionFactory = sessionFactory; }
public Searcher(string directory, IQueryParser parser = null, IScoringSchemeFactory scorerFactory = null, IReadSessionFactory sessionFactory = null) { _parser = parser ?? new QueryParser(); _scorerFactory = scorerFactory ?? new TfIdfFactory(); _versions = Util.GetIndexVersionListInChronologicalOrder(directory); _blockSize = BlockSerializer.SizeOfBlock(); _sessionFactory = sessionFactory ?? new FullTextReadSessionFactory(directory); }
public Searcher(string directory, long version, QueryParser parser, IScoringSchemeFactory scorerFactory, IReadSessionFactory sessionFactory = null) { _directory = directory; _parser = parser; _scorerFactory = scorerFactory; _versions = new[] { BatchInfo.Load(Path.Combine(directory, version + ".ix")) }; _blockSize = BlockSerializer.SizeOfBlock(); _sessionFactory = sessionFactory ?? new ReadSessionFactory(directory); }
public MappedTrieReader(string fileName) { var dir = Path.GetDirectoryName(fileName); var version = Path.GetFileNameWithoutExtension(fileName); _stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read, 4096 * 1, FileOptions.SequentialScan); _blockSize = Serializer.SizeOfNode() + BlockSerializer.SizeOfBlock(); }
public Searcher(string directory, QueryParser parser, IScoringSchemeFactory scorerFactory, IReadSessionFactory sessionFactory = null) { _directory = directory; _parser = parser; _scorerFactory = scorerFactory; _versions = Util.GetIndexFileNamesInChronologicalOrder(directory) .Select(f => BatchInfo.Load(f)).ToArray(); _blockSize = BlockSerializer.SizeOfBlock(); _sessionFactory = sessionFactory ?? new ReadSessionFactory(directory); }
public ReadSession( SegmentInfo version, DocHashReader docHashReader, BlockInfoReader addressReader, Stream stream) { Version = version; Stream = stream; DocHashReader = docHashReader; AddressReader = addressReader; BlockSize = BlockSerializer.SizeOfBlock(); Stream.Seek(Version.KeyIndexOffset, SeekOrigin.Begin); KeyIndex = DocumentSerializer.ReadKeyIndex(Stream, Version.KeyIndexSize); }
public ReadSession( BatchInfo version, PostingsReader postingsReader, DocHashReader docHashReader, DocumentAddressReader addressReader, Stream stream) { Version = version; _stream = stream; _docHashReader = docHashReader; _postingsReader = postingsReader; _addressReader = addressReader; _blockSize = BlockSerializer.SizeOfBlock(); }
private IEnumerable <DocumentTableRow> StreamDocuments() { var skipped = 0; var took = 0; for (int docId = 0; docId < _ix.DocumentCount; docId++) { var hash = _hashReader.Read(docId); var address = _addressReader.Read(new[] { new BlockInfo(docId * BlockSerializer.SizeOfBlock(), BlockSerializer.SizeOfBlock()) }).First(); var document = _documentReader.Read(new List <BlockInfo> { address }).First(); if (!hash.IsObsolete) { if (skipped == _skip && took < _take) { yield return(document); took++; } else if (skipped < _skip) { skipped++; } else if (took == _take) { break; } } } }
public MappedTrieReader(Stream stream) { _stream = stream; _blockSize = Serializer.SizeOfNode() + BlockSerializer.SizeOfBlock(); _leaveOpen = true; }