Autocomplete.Core.SearchAutoComplete.SuggestTermsFor C# (CSharp) Method

SuggestTermsFor() public method

Find terms matching the given partial word that appear in the highest number of documents.
public SuggestTermsFor ( string term ) : IEnumerable
term string A word or part of a word
return IEnumerable
        public IEnumerable<Hotel> SuggestTermsFor(string term)
        {
            // get the top terms for query
            Query query = new TermQuery(new Term(kGrammedWordsField, term.ToLower()));
            Sort sort = new Sort(new SortField(kCountField, SortField.INT));

            TopDocs docs = m_searcher.Search(query, null, MaxResults, sort);
            var suggestions = docs.ScoreDocs.Select(doc =>
                new Hotel()
                {
                    Id = int.Parse(m_reader.Document(doc.Doc).Get("hotelId")),
                    Name = m_reader.Document(doc.Doc).Get(kSourceWordField)
                })
                .ToArray();

            return suggestions;
        }