最好的ASP..NET MVC搜索解决方案
本文关键字:MVC 搜索 解决方案 NET ASP | 更新日期: 2023-09-27 17:51:22
https://addons.heroku.com/#search列出了一些非常酷的搜索插件。我正在寻找这样的东西为我的MVC项目。我希望它是:
- 相当容易实现
- 准确(结果好) <
- 大API/gh>
- 不需要全文搜索,只需按标题搜索(必须喜欢S/O问题)
我也想知道我是否应该使用谷歌搜索API,因为它似乎是令人难以置信的准确。我很好奇overflow.com用的是什么搜索系统?
谢谢
你要求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透视图,一个可以插入到上述场景,应该是一个很好的。