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);
}