2009-02-18 263 views
21

我可以想象在ASP.NET MVC應用程序中實現搜索功能的多種方式,但由於找不到太多文檔,我在想如果您有任何常見模式,技術或在ASP.NET MVC應用程序中實現搜索功能的常用方法(類似於stackoverflow)。有些技術是我心目中是:如何在ASP.NET MVC應用程序中實現搜索功能

  • SQL Server全文搜索
  • 外部搜索引擎(如Google搜索服務器2008)
  • Lucene.NET

...但是將它們與ASP.NET MVC集成的最佳方法?

想法?

回答

2

我相信他的一篇博文Jeff Atwood談論他如何使用sitemaps來讓谷歌處理堆棧溢出的大部分搜索功能。爲什麼編寫自己的搜索算法時,人們可能只是要使用谷歌呢?

5

這不是完全清楚你所專門詢問,但總的來看:

  1. 寫返回一個搜索表單視圖助手或局部視圖。在需要顯示搜索框的任何地方打電話給您的其他頁面。使表單操作GET,而不是POST。
  2. 對於網站搜索,您可能需要擁有搜索控制器。爲了在一種特定類型的數據中進行搜索,您可以將操作添加到現有控制器或將參數添加到現有操作。大多數情況下,我們必須添加的唯一一個參數是針對特定數據類型的通用「List」操作。搜索表單調用「List」並用搜索查詢字符串設置參數。
  3. 實際搜索是在您的存儲庫中完成的。這是應用程序中唯一知道諸如SQL Server或Lucene之類的部分。對於微不足道的情況,控制器可以在存儲庫返回的IQueryable <T>附加一個.Where。
相關問題