我可以想象在ASP.NET MVC应用程序中实现搜索功能的许多方法,但由于我找不到太多文档,我想知道你是否有任何常见的模式,技术或通用方法来实现ASP.NET MVC应用程序中的搜索功能(类似于stackoverflow).我想到的一些技术是:
SQL Server全文搜索
外部搜索引擎(如Search Server 2008)
Lucene.NET
...但是将它们与ASP.NET MVC集成的最佳方法是什么?
想法?
目前还不完全清楚你具体要求的是什么,但总的来说:
编写一个返回搜索表单的视图助手或部分视图.在您需要的任何地方打电话给您显示搜索框.使表单操作GET,而不是POST.
对于网站搜索,您可能希望拥有一个搜索控制器.要在一种特定类型的数据中进行搜索,您可以向现有控制器添加操作或向现有操作添加参数.在大多数情况下,我们必须添加的唯一内容是针对特定数据类型的通用"List"操作的参数.搜索表单调用"List"并使用搜索查询字符串设置参数.
实际搜索在您的存储库中完成.这是应用程序中唯一知道SQL Server或Lucene等内容的部分.对于琐碎的情况,控制器可以将一个.附加到存储库返回的IQueryable