public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { Dictionary<string, object> analysisDict = serializer.Deserialize<Dictionary<string, object>>(reader); AnalysisSettings settings = new AnalysisSettings(); if (analysisDict.ContainsKey(_CHARACTER_FILTERS)) { settings.CharacterFilters = JsonConvert.DeserializeObject<CharacterFilterCollection>(analysisDict.GetString(_CHARACTER_FILTERS)); } if (analysisDict.ContainsKey(_TOKEN_FILTERS)) { settings.TokenFilters = JsonConvert.DeserializeObject<TokenFilterCollection>(analysisDict.GetString(_TOKEN_FILTERS)); } if (analysisDict.ContainsKey(_TOKENIZER)) { settings.Tokenizers = JsonConvert.DeserializeObject<TokenizerCollection>(analysisDict.GetString(_TOKENIZER)); } if (analysisDict.ContainsKey(_ANALYZER)) { CustomAnalyzerSerializer._AnalysisSettings = settings; settings.Analyzers = JsonConvert.DeserializeObject<AnalyzerCollection>(analysisDict.GetString(_ANALYZER)); } return settings; }
public static void PopulateIndexAnalyzers(AnalysisSettings analysisSettings) { if(analysisSettings != null) _KnownAnalyzers = analysisSettings.Analyzers; }