Ejemplo n.º 1
0
        public WriteSession(
            ulong collectionId,
            LocalStorageSessionFactory sessionFactory,
            ITokenizer tokenizer) : base(collectionId, sessionFactory)
        {
            _tokenizer  = tokenizer;
            _log        = Logging.CreateLogWriter("writesession");
            _indexQueue = new ProducerConsumerQueue <IndexJob>(Write);
            _buildQueue = new ProducerConsumerQueue <BuildJob>(Write);

            ValueStream      = sessionFactory.CreateAppendStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.val", collectionId)));
            KeyStream        = sessionFactory.CreateAppendStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.key", collectionId)));
            DocStream        = sessionFactory.CreateAppendStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.docs", collectionId)));
            ValueIndexStream = sessionFactory.CreateAppendStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.vix", collectionId)));
            KeyIndexStream   = sessionFactory.CreateAppendStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.kix", collectionId)));
            DocIndexStream   = sessionFactory.CreateAppendStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.dix", collectionId)));
            PostingsStream   = sessionFactory.CreateReadWriteStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.pos", collectionId)));
            VectorStream     = sessionFactory.CreateAppendStream(Path.Combine(sessionFactory.Dir, string.Format("{0}.vec", collectionId)));
            Index            = sessionFactory.GetCollectionIndex(collectionId);

            _vals           = new ValueWriter(ValueStream);
            _keys           = new ValueWriter(KeyStream);
            _docs           = new DocWriter(DocStream);
            _valIx          = new ValueIndexWriter(ValueIndexStream);
            _keyIx          = new ValueIndexWriter(KeyIndexStream);
            _docIx          = new DocIndexWriter(DocIndexStream);
            _postingsReader = new PagedPostingsReader(PostingsStream);
            _dirty          = new Dictionary <long, VectorNode>();
        }
Ejemplo n.º 2
0
 public Writer(LocalStorageSessionFactory sessionFactory, ITokenizer analyzer)
 {
     _tokenizer      = analyzer;
     _sessionFactory = sessionFactory;
     _writeQueue     = new ProducerConsumerQueue <WriteJob>(ExecuteWrite);
     _log            = Logging.CreateLogWriter("writer");
     _itemTimer      = new Stopwatch();
     _batchTimer     = new Stopwatch();
 }
Ejemplo n.º 3
0
        public WarmupSession(
            string collectionName,
            ulong collectionId,
            SessionFactory sessionFactory,
            IStringModel tokenizer,
            IConfigurationProvider config,
            string baseUrl) : base(collectionName, collectionId, sessionFactory)
        {
            _config    = config;
            _tokenizer = tokenizer;
            _httpQueue = new ProducerConsumerQueue <string>(
                int.Parse(_config.Get("warmup_thread_count")), callback: SubmitQuery);
            _http    = new HttpClient();
            _baseUrl = baseUrl;

            this.Log("initiated warmup session");
        }
Ejemplo n.º 4
0
 public Writer(SessionFactory sessionFactory, ITokenizer analyzer)
 {
     _tokenizer      = analyzer;
     _sessionFactory = sessionFactory;
     _writeQueue     = new ProducerConsumerQueue <WriteTransaction>(Commit);
 }
 public Writer(LocalStorageSessionFactory sessionFactory, ITokenizer analyzer)
 {
     _tokenizer      = analyzer;
     _sessionFactory = sessionFactory;
     _writeQueue     = new ProducerConsumerQueue <WriteJob>(Commit);
 }