anchor.diff:                ShardWriters = shardWriters
                 Caches = caches
                 State = IndexState.Online
  -              Settings = settings }
  +              Settings = settings 
  +              Token = new System.Threading.CancellationTokenSource()}
           indexWriter |> replayTransactionLogs
  +
  +        // Add the scheduler for the index
  +        // Commit Scheduler
  +        Async.Start
  +            (indexWriter |> scheduleIndexJob (settings.IndexConfiguration.CommitTimeSeconds * 1000) commit)
  +        // NRT Scheduler
  +        Async.Start
  +            (indexWriter |> scheduleIndexJob settings.IndexConfiguration.RefreshTimeMilliseconds refresh)
  +
           indexWriter
  
positive.code:     let getDocumentCount (s : T) = 
          s.ShardWriters |> Array.fold (fun count shard -> ShardWriter.getDocumentCount (shard) + count) 0
      
      /// Replay all the uncommitted transactions from the logs
      let replayTransactionLogs (indexWriter : T) = 
          let replayShardTransaction (shardWriter : ShardWriter.T) = 
  
negative.code:           Caches : VersionCache.T array
            ShardWriters : ShardWriter.T array
            State : IndexState
            Settings : IndexSetting.T 
            Token : CancellationTokenSource}
          member this.GetSchemaName(fieldName) = this.Settings.FieldsLookup.[fieldName].SchemaName
      
      /// Create index settings from the Index Dto
  