2009-02-18 25 views
21

Bir ASP.NET MVC uygulamasında arama özelliklerinin uygulanmasının birçok yolunu hayal edebiliyorum, ancak çok fazla belge bulamadığımdan, herhangi bir ortak deseniniz olup olmadığını merak ediyorum. veya ASP.NET MVC uygulamasında arama özelliklerinin uygulanması için ortak yaklaşım (stackoverflow'a benzer). Aklımdaki bazı teknolojiler şunlardır:ASP.NET MVC uygulamalarında arama özellikleri nasıl uygulanır

  • SQL Server tam metin arama
  • Dış arama motoru (Search Server gibi 2008)
  • Lucene.NET

... ama ne ASP.NET MVC ile entegre etmek için en iyi yaklaşımdır?

Fikirler?

cevap

2

Blog gönderilerinden Jeff Atwood'un, yığın taşmasıyla ilgili arama yeteneklerinin çoğunu Google'ın kullanımına izin vermek için sitemaps'u nasıl kullandığını anlattığına inanıyorum. İnsanlar muhtemelen sadece google'ı kullanacakken neden kendi arama algoritmalarınızı yazmalı?

5

Genel olarak, özel olarak ne soruyorsun tamamen açık değil, ama:

  1. bir arama formu döndüren bir görünüm yardımcı veya kısmi görünümü yazın. Bir arama kutusu görüntülemeniz gerektiğinde bunu diğer sayfalarınızda arayın. POST değil, form eylemi GET yap.
  2. Bir site araması için, muhtemelen bir arama denetleyicisine sahip olmak isteyeceksiniz. Belirli bir veri türü içinde arama yapmak için, mevcut bir denetleyiciye veya varolan bir eylemin argümanına bir eylem ekleyebilirsiniz. Çoğunlukla, eklememiz gereken tek şey, belirli bir veri türü için genel amaçlı "Liste" eyleminin bir argümanıdır. Arama formu "Liste" yi çağırır ve arama sorgusu dizesiyle bir argüman oluşturur.
  3. Gerçek arama Havuzunuzda yapılır. SQL Server veya Lucene gibi şeyleri bilen uygulamanın tek kısmı budur. Önemsiz durumlar için, bir kontrolör, bir Depo tarafından iade edilen bir IQueryable <T>'a ekleyebilir.