/// <summary>
 /// Enumerates the list of elements that represent all solr fields to be deleted from solr schema
 /// </summary>
 /// <returns>List of remove fields.</returns>
 private IEnumerable <XElement> GetRemoveFields()
 {
     foreach (SolrNet.Schema.SolrCopyField solrCopyField in this.solrSchema.SolrCopyFields)
     {
         yield return(SchemaPopulateHelper.GetRemoveCopyField(
                          solrCopyField.Source,
                          solrCopyField.Destination));
     }
     foreach (SolrDynamicField solrDynamicField in this.solrSchema.SolrDynamicFields)
     {
         yield return(SchemaPopulateHelper.GetRemoveField(solrDynamicField.Name, true));
     }
     foreach (SolrField solrField in this.solrSchema.SolrFields)
     {
         yield return(SchemaPopulateHelper.GetRemoveField(solrField.Name));
     }
 }
        private IEnumerable <XElement> GetAddFieldTypes()
        {
            SchemaPopulateHelper schemaPopulateHelper = this;

            yield return(schemaPopulateHelper.CreateFieldType(
                             "random",
                             "solr.RandomSortField",
                             (IDictionary <string, string>) new Dictionary <string, string>()
            {
                {
                    "indexed",
                    "true"
                }
            }));

            yield return(schemaPopulateHelper.CreateFieldType(
                             "ignored",
                             "solr.StrField",
                             (IDictionary <string, string>) new Dictionary <string, string>()
            {
                {
                    "indexed",
                    "false"
                },
                {
                    "stored",
                    "false"
                },
                {
                    "docValues",
                    "false"
                },
                {
                    "multiValued",
                    "true"
                }
            }));
        }