public ActionResult Search(string term) { IRavenQueryable <RecentPopularTags.ReduceResult> query = DocumentSession .Query <RecentPopularTags.ReduceResult, RecentPopularTags>() .Where(x => x.Tag == term); // Does this tag exist? RecentPopularTags.ReduceResult tag = query.FirstOrDefault(); var results = new List <string>(); if (tag != null) { results.Add(tag.Tag); } else { // No exact match .. so lets use Suggest. SuggestionQueryResult suggestedTags = query.Suggest(); if (suggestedTags.Suggestions.Length > 0) { results.AddRange(suggestedTags.Suggestions); } } return(Json(results, JsonRequestBehavior.AllowGet)); }