/// <summary> /// The completion suggester is a so-called prefix suggester. /// It does not do spell correction like the term or phrase suggesters but allows basic auto-complete functionality. /// </summary> public SearchDescriptor <T> SuggestCompletion(string name, Func <CompletionSuggesterDescriptor <T>, CompletionSuggesterDescriptor <T> > suggest) => Assign(a => { name.ThrowIfNullOrEmpty(nameof(name)); suggest.ThrowIfNull(nameof(suggest)); if (a.Suggest == null) { a.Suggest = new Dictionary <string, ISuggestBucket>(); } var desc = new CompletionSuggesterDescriptor <T>(); var item = suggest(desc); ICompletionSuggester i = item; var bucket = new SuggestBucket { Text = i.Text, Completion = item }; a.Suggest.Add(name, bucket); });
/// <summary> /// The completion suggester is a so-called prefix suggester. /// It does not do spell correction like the term or phrase suggesters but allows basic auto-complete functionality. /// </summary> public SearchDescriptor <T> SuggestCompletion(string name, Func <CompletionSuggestDescriptor <T>, CompletionSuggestDescriptor <T> > suggest) { name.ThrowIfNullOrEmpty("name"); suggest.ThrowIfNull("suggest"); if (Self.Suggest == null) { Self.Suggest = new Dictionary <string, ISuggestBucket>(); } var desc = new CompletionSuggestDescriptor <T>(); var item = suggest(desc); ICompletionSuggester i = item; var bucket = new SuggestBucket { Text = i.Text, Completion = item }; Self.Suggest.Add(name, bucket); return(this); }