コード例 #1
0
        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;
        }
コード例 #2
0
 public static void PopulateIndexAnalyzers(AnalysisSettings analysisSettings)
 {
     if(analysisSettings != null)
         _KnownAnalyzers = analysisSettings.Analyzers;
 }