2009-02-18 13 views
21

Potrafię sobie wyobrazić wiele sposobów implementacji funkcji wyszukiwania w aplikacji ASP.NET MVC, ale ponieważ nie mogę znaleźć wiele dokumentacji, zastanawiałem się, czy masz jakiś wspólny wzorzec, technologię lub wspólne podejście do implementowania funkcji wyszukiwania w aplikacji ASP.NET MVC (podobne do stackoverflow). Niektóre technologie, które mam na myśli to:Jak zaimplementować funkcje wyszukiwania w aplikacjach ASP.NET MVC

  • SQL Server pełnotekstowe przeszukiwanie
  • Zewnętrzna wyszukiwarka (jak Search Server 2008)
  • Lucene.NET

... ale co jest najlepszym podejściem do integracji z ASP.NET MVC?

Pomysły?

Odpowiedz

2

Wierzę w jeden z jego wpisów na blogu Jeff Atwood mówi o tym, jak użył sitemaps, aby umożliwić Google'owi przejęcie większości funkcji przeszukiwania przepełnienia stosu. Po co pisać własne algorytmy wyszukiwania, gdy ludzie prawdopodobnie będą używać Google'a?

5

To nie jest do końca jasne, co się konkretnie pyta, ale ogólnie:

  1. Napisz pomocnika widoku lub częściowy widok która zwraca formularzem wyszukującym. Zadzwoń na inne strony, gdziekolwiek chcesz, aby wyświetlić pole wyszukiwania. Ustaw formę GET, a nie POST.
  2. W przypadku wyszukiwania w witrynie prawdopodobnie będziesz potrzebować kontrolera wyszukiwania. W celu przeszukiwania jednego określonego typu danych można dodać akcję do istniejącego kontrolera lub argument do istniejącej akcji. W większości przypadków jedyną rzeczą, którą musimy dodać, jest argument dotyczący działania "List" ogólnego przeznaczenia dla określonego typu danych. Formularz wyszukiwania wywołuje "List" i ustawia argument za pomocą ciągu zapytania wyszukiwania.
  3. Rzeczywiste wyszukiwanie odbywa się w repozytorium. To jedyna część aplikacji, która wie o takich rzeczach jak SQL Server czy Lucene. Dla trywialnych przypadków kontroler może dołączyć .W przypadku IQueryable <T> zwrócone przez repozytorium.
Powiązane problemy