public void Write <T>(ulong collectionId, IEnumerable <Document> job, IModel <T> model, WriteSession writeSession, IndexSession <T> indexSession, int reportSize = 1000) { LogInformation($"writing to collection {collectionId}"); var time = Stopwatch.StartNew(); var debugger = new IndexDebugger(Logger, reportSize); foreach (var document in job) { writeSession.Put(document); //Parallel.ForEach(document, kv => foreach (var field in document.Fields) { if (field.Value != null && field.Index) { indexSession.Put(document.Id, field.KeyId, (T)field.Value); } }//); debugger.Step(indexSession); } Logger.LogInformation($"processed write&index job (collection {collectionId}) in {time.Elapsed}"); }
public void Write <T>( Document document, WriteSession writeSession, IndexSession <T> indexSession) { writeSession.Put(document); foreach (var field in document.Fields) { if (field.Value != null && field.Index) { indexSession.Put(document.Id, field.KeyId, (T)field.Value); } } }