internal Predictor(IPredictionEnvironment environment, IWordSuggester wordSuggester, IPhraseSuggester phraseSuggester, Action <Predictor> predictorUpdater) { _updater = new LazyUpdater(environment.QueueWorkItem); _environment = environment; _wordSuggester = wordSuggester; _phraseSuggester = phraseSuggester; _predictorUpdater = predictorUpdater; }
internal void UpdateConfiguration(IWordSuggester wordSuggester, IPhraseSuggester phraseSuggester) { _wordSuggester = wordSuggester; _phraseSuggester = phraseSuggester; var predictionChangedHandler = PredictionChanged; if (predictionChangedHandler != null) { predictionChangedHandler(this, EventArgs.Empty); } }
internal Prediction(IPredictionEnvironment environment, IWordSuggester wordSuggester, IPhraseSuggester phraseSuggester, string text, int selectionStart, int selectionLength, bool isAutoSpace) { Debug.Assert(text != null); this.environment = environment; this.wordSuggester = wordSuggester; this.phraseSuggester = phraseSuggester; this.text = text; this.selectionStart = selectionStart; this.selectionLength = selectionLength; this.isAutoSpace = isAutoSpace; }
/// <summary> /// The phrase suggester adds additional logic on top of the term suggester to select entire corrected phrases /// instead of individual tokens weighted based on ngram-langugage models. /// </summary> public SearchDescriptor <T> SuggestPhrase(string name, Func <PhraseSuggesterDescriptor <T>, PhraseSuggesterDescriptor <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 PhraseSuggesterDescriptor <T>(); var item = suggest(desc); IPhraseSuggester i = item; var bucket = new SuggestBucket { Text = i.Text, Phrase = item }; a.Suggest.Add(name, bucket); });
/// <summary> /// The phrase suggester adds additional logic on top of the term suggester to select entire corrected phrases /// instead of individual tokens weighted based on ngram-langugage models. /// </summary> public SearchDescriptor <T> SuggestPhrase(string name, Func <PhraseSuggestDescriptor <T>, PhraseSuggestDescriptor <T> > suggest) { name.ThrowIfNullOrEmpty("name"); suggest.ThrowIfNull("suggest"); if (Self.Suggest == null) { Self.Suggest = new Dictionary <string, ISuggestBucket>(); } var desc = new PhraseSuggestDescriptor <T>(); var item = suggest(desc); IPhraseSuggester i = item; var bucket = new SuggestBucket { Text = i.Text, Phrase = item }; Self.Suggest.Add(name, bucket); return(this); }