public async Task <IList <long> > ExecuteWrite(string collectionName, IEnumerable <IDictionary> documents) { _timer.Restart(); IList <long> docIds; using (var write = _sessionFactory.CreateWriteSession(collectionName, collectionName.ToHash())) { docIds = await write.Write(documents); } if (docIds.Count > 0) { var skip = (int)docIds[0] - 1; var take = docIds.Count; using (var docs = _sessionFactory.CreateDocumentStreamSession(collectionName, collectionName.ToHash())) using (var index = _sessionFactory.CreateIndexSession(collectionName, collectionName.ToHash())) { foreach (var doc in docs.ReadDocs(skip, take)) { index.EmbedTerms(doc); } } } this.Log("executed {0} write+index job in {1}", collectionName, _timer.Elapsed); return(docIds); }