public void SuggestUsing(SuggestionBase suggestion) { if (suggestion == null) { throw new ArgumentNullException(nameof(suggestion)); } AssertCanSuggest(); SuggestToken token; switch (suggestion) { case SuggestionWithTerm term: token = SuggestToken.Create(term.Field, AddQueryParameter(term.Term), GetOptionsParameterName(term.Options)); break; case SuggestionWithTerms terms: token = SuggestToken.Create(terms.Field, AddQueryParameter(terms.Terms), GetOptionsParameterName(terms.Options)); break; default: throw new NotSupportedException($"Unknown type of suggestion '{suggestion.GetType()}'"); } SelectTokens.AddLast(token); }
public void AggregateBy(FacetBase facet) { foreach (var token in SelectTokens) { if (token is FacetToken) { continue; } throw new InvalidOperationException($"Aggregation query can select only facets while it got {token.GetType().Name} token"); } SelectTokens.AddLast(FacetToken.Create(facet, AddQueryParameter)); }
public void AggregateUsing(string facetSetupDocumentId) { SelectTokens.AddLast(FacetToken.Create(facetSetupDocumentId)); }