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);
        }
Пример #2
0
        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));
        }
Пример #3
0
 public void AggregateUsing(string facetSetupDocumentId)
 {
     SelectTokens.AddLast(FacetToken.Create(facetSetupDocumentId));
 }