internal SynonymMap(string name, string format, string synonyms, SearchResourceEncryptionKey encryptionKey, string Etag) { Name = name; Format = format; Synonyms = synonyms; EncryptionKey = encryptionKey; _etag = Etag; }
internal SearchIndex(string name, IList <SearchField> fields, IList <ScoringProfile> scoringProfiles, string defaultScoringProfile, CorsOptions corsOptions, IList <Suggester> suggesters, IList <LexicalAnalyzer> analyzers, IList <LexicalTokenizer> tokenizers, IList <TokenFilter> tokenFilters, IList <CharFilter> charFilters, SearchResourceEncryptionKey encryptionKey, Similarity similarity, string Etag) { Name = name; Fields = fields ?? new List <SearchField>(); ScoringProfiles = scoringProfiles ?? new List <ScoringProfile>(); DefaultScoringProfile = defaultScoringProfile; CorsOptions = corsOptions; Suggesters = suggesters ?? new List <Suggester>(); Analyzers = analyzers ?? new List <LexicalAnalyzer>(); Tokenizers = tokenizers ?? new List <LexicalTokenizer>(); TokenFilters = tokenFilters ?? new List <TokenFilter>(); CharFilters = charFilters ?? new List <CharFilter>(); EncryptionKey = encryptionKey; Similarity = similarity; _etag = Etag; }
internal static SynonymMap DeserializeSynonymMap(JsonElement element) { string name = default; string format = default; string synonyms = default; SearchResourceEncryptionKey encryptionKey = default; string odataEtag = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("format")) { format = property.Value.GetString(); continue; } if (property.NameEquals("synonyms")) { synonyms = property.Value.GetString(); continue; } if (property.NameEquals("encryptionKey")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } encryptionKey = SearchResourceEncryptionKey.DeserializeSearchResourceEncryptionKey(property.Value); continue; } if (property.NameEquals("@odata.etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } odataEtag = property.Value.GetString(); continue; } } return new SynonymMap(name, format, synonyms, encryptionKey, odataEtag); }
internal static SearchIndex DeserializeSearchIndex(JsonElement element) { string name = default; IList <SearchField> fields = default; IList <ScoringProfile> scoringProfiles = default; string defaultScoringProfile = default; CorsOptions corsOptions = default; IList <Suggester> suggesters = default; IList <LexicalAnalyzer> analyzers = default; IList <LexicalTokenizer> tokenizers = default; IList <TokenFilter> tokenFilters = default; IList <CharFilter> charFilters = default; SearchResourceEncryptionKey encryptionKey = default; Similarity similarity = default; string odataEtag = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("fields")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <SearchField> array = new List <SearchField>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(SearchField.DeserializeSearchField(item)); } } fields = array; continue; } if (property.NameEquals("scoringProfiles")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <ScoringProfile> array = new List <ScoringProfile>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(ScoringProfile.DeserializeScoringProfile(item)); } } scoringProfiles = array; continue; } if (property.NameEquals("defaultScoringProfile")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } defaultScoringProfile = property.Value.GetString(); continue; } if (property.NameEquals("corsOptions")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } corsOptions = CorsOptions.DeserializeCorsOptions(property.Value); continue; } if (property.NameEquals("suggesters")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <Suggester> array = new List <Suggester>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(Suggester.DeserializeSuggester(item)); } } suggesters = array; continue; } if (property.NameEquals("analyzers")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <LexicalAnalyzer> array = new List <LexicalAnalyzer>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(LexicalAnalyzer.DeserializeLexicalAnalyzer(item)); } } analyzers = array; continue; } if (property.NameEquals("tokenizers")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <LexicalTokenizer> array = new List <LexicalTokenizer>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(LexicalTokenizer.DeserializeLexicalTokenizer(item)); } } tokenizers = array; continue; } if (property.NameEquals("tokenFilters")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <TokenFilter> array = new List <TokenFilter>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(TokenFilter.DeserializeTokenFilter(item)); } } tokenFilters = array; continue; } if (property.NameEquals("charFilters")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <CharFilter> array = new List <CharFilter>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(CharFilter.DeserializeCharFilter(item)); } } charFilters = array; continue; } if (property.NameEquals("encryptionKey")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } encryptionKey = SearchResourceEncryptionKey.DeserializeSearchResourceEncryptionKey(property.Value); continue; } if (property.NameEquals("similarity")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } similarity = Similarity.DeserializeSimilarity(property.Value); continue; } if (property.NameEquals("@odata.etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } odataEtag = property.Value.GetString(); continue; } } return(new SearchIndex(name, fields, scoringProfiles, defaultScoringProfile, corsOptions, suggesters, analyzers, tokenizers, tokenFilters, charFilters, encryptionKey, similarity, odataEtag)); }