最好的ASP..NET MVC搜索解决方案

本文关键字:MVC 搜索 解决方案 NET ASP | 更新日期: 2023-09-27 17:51:22

https://addons.heroku.com/#search列出了一些非常酷的搜索插件。我正在寻找这样的东西为我的MVC项目。我希望它是:

  1. 相当容易实现
  2. 准确(结果好)
  3. <
  4. 大API/gh>
  5. 不需要全文搜索,只需按标题搜索(必须喜欢S/O问题)

我也想知道我是否应该使用谷歌搜索API,因为它似乎是令人难以置信的准确。我很好奇overflow.com用的是什么搜索系统?

谢谢

最好的ASP..NET MVC搜索解决方案

你要求MVC解决方案,我会给你一个。

实现接口ISearchable

interface ISearchable{
    SearchResult Search(string query);
}

实现类SearchResult

public class SearchResult{
    SearchResult(string title, string url, string description, int rank){
        this.Title = title;
        this.Url = url;
        this.Description = description;
        this.Rank = rank;
    }
    public string Title { get; set; }
    public string Url { get; set; }
    public string Description { get; set; }
    public int Rank { get; set; }
}

让你的ViewModel实现ISearchable接口

public class MyViewModel : ISearchable{
    public List<Article> Articles { get; set; }
    #region ISearchable
    public SearchResult Search(string query){
        string title = "";
        string url = "";
        string description = "";
        int rank = 0;
        // Custom logic to search for an article
        ...
        return new SearchResult(title, url, description, rank);
    }
    #endregion
}

Application_Start上注册ISearchable ViewModels,例如在Unity上注册。

实现SearchController,具有Action Query

public ActionResult Query(SearchQueryModel model){
   model.Search();
   return View(model);
}

model.Search()中,通过实现ISearchable接口的注册ViewModels进行搜索,使用最适合您的任何搜索API。或者不要使用API。

实际情况是,任何搜索都会有一段时间为你服务,但当它不再为你服务时,你可以切换而不破坏你的实现。

我知道你要的是"最佳ASP"。. NET MVC搜索解决方案"。我不能为你挑选任何特定的产品,因为我不知道你的解决方案的内部工作原理,你的预算等。

但严格从ASP。. NET MVC透视图,一个可以插入到上述场景,应该是一个很好的。