我可以想象在ASP.NET MVC应用程序中实现搜索功能的许多方法,但由于我找不到很多文档,我想知道如果您有任何常见的模式,技术或常见方法来实现ASP.NET MVC应用程序中的搜索功能(类似于stackoverflow)。我想到的一些技术是:
> sql Server全文搜索
>外部搜索引擎(如Search Server 2008)
> Lucene.NET
…但是与ASP.NET MVC集成它们的最佳方法是什么?
想法?
解决方法
不完全清楚你的具体要求,但一般来说:
>编写一个视图帮助器或部分视图返回一个搜索表单。在您需要显示搜索框的任何地方调用该页面。使表单动作GET,而不是POST。>对于网站搜索,您可能希望拥有一个搜索控制器。为了在一种特定类型的数据中进行搜索,您可以向现有控制器或现有操作的参数添加操作。在大多数情况下,我们必须添加的唯一的事情是特定数据类型的通用“列表”操作的参数。搜索表单调用“列表”,并使用搜索查询字符串设置参数。>实际的搜索是在您的Repository中完成的。这是应用程序中唯一知道sql Server或Lucene的内容的部分。对于微不足道的情况,控制器可以附加一个。在一个IQueryable< T>由存储库返回。