anchor.diff:  open FlexSearch.Api
   open FlexSearch.Api.Message
   open FlexSearch.Core
  -open FlexSearch.Utility
  -open System
  -open System.Collections.Concurrent
  -open System.Collections.Generic
  -open System.Data
   open System.IO
   open System.Linq
  -open System.Threading
  -open System.Threading.Tasks
  -open System.Threading.Tasks.Dataflow
  -open java.io
  -open java.util
  -open org.apache.lucene.analysis
  -open org.apache.lucene.analysis.core
  -open org.apache.lucene.analysis.miscellaneous
  -open org.apache.lucene.analysis.util
  -open org.apache.lucene.codecs
  -open org.apache.lucene.codecs.lucene42
  -open org.apache.lucene.document
  -open org.apache.lucene.index
  -open org.apache.lucene.search
  -open org.apache.lucene.store
   
   /// <summary>
   /// Service wrapper around all index related services
  
positive.code:                 CloseIndex(nodeState.IndicesState, index)
                  let! index' = nodeState.PersistanceStore.Get<Index>(indexName)
                  index'.Online <- false
                  nodeState.PersistanceStore.Put indexName index' |> ignore
                  logger.CloseIndex(indexName)
                  return! Choice1Of2()
          }
      
      /// <summary>
      /// Commit changes to the disk
      /// </summary>
      /// <param name="indexName"></param>
      /// <param name="nodeState"></param>
      let Commit indexName = maybe { let! (flexIndex, documentTemplate) = Index.IndexExists
                                                                              (nodeState.IndicesState, indexName)
                                     flexIndex.Shards |> Array.iter (fun shard -> shard.IndexWriter.commit()) }
      
      /// <summary>
      /// Load all indices for the node
  
negative.code:         member this.OpenIndex indexName = OpenIndex indexName
          member this.CloseIndex indexName = CloseIndex indexName
          member this.Commit indexName = Commit indexName
          member this.Refresh indexName = Refresh indexName
  