anchor.diff:        /// in a multi-threaded scenario using TPL data flow as we don't know which 
         /// thread it is using to execute each task. The easiest way
         /// is to use ThreadLocal value to create a local copy of the index document.
  -      /// The implication of creating one lucene document class per document to 
  +      /// The implication of creating one Lucene document class per document to 
         /// be indexed is the penalty it has in terms of garbage collection. Also,
  -      /// lucene's document and index classes can't be shared across threads.
  +      /// Lucene's document and index classes can't be shared across threads.
         ThreadLocalStore : ThreadLocal<ConcurrentDictionary<string, ThreadLocalDocument>> }
       
       member this.GetStatus(indexName) = 
  
positive.code:         new org.apache.lucene.analysis.Analyzer.TokenStreamComponents(source, result)
  
  /// <summary>
  /// Represents a dummy lucene document. There will be one per index stored in a dictionary
  /// </summary>
  type ThreadLocalDocument = 
      { Document : Document
  
negative.code: type FlexField = 
      { FieldName : string
        StoreInformation : FieldStoreInformation
        PostingsFormat : FieldPostingsFormat
        Similarity : FieldSimilarity
        FieldType : FlexFieldType
        Source : System.Func<System.Dynamic.DynamicObject, string> option
        /// This is applicable to all fields apart from stored only so making
        /// it an optional field. 
        FieldInformation : FieldInformation option
        /// Helper property to determine if the field needs any analyzer.
        /// This will save matching effort over field type
        RequiresAnalyzer : bool
        /// Default Lucene field for the flex field. This is used when the 
        /// the data submitted for indexing is invalid.
        DefaultField : Field }
  
  