2009-02-18 15 views
21

Puedo imaginar muchas formas de implementar funciones de búsqueda en una aplicación ASP.NET MVC, pero como no puedo encontrar mucha documentación, me preguntaba si usted tiene algún patrón común, tecnología o enfoque común para implementar funciones de búsqueda en una aplicación ASP.NET MVC (similar a stackoverflow). Algunas de las tecnologías que tengo en mente son:Cómo implementar funciones de búsqueda en aplicaciones ASP.NET MVC

  • SQL Server búsqueda de texto completo
  • motor de búsqueda externo (como Search Server 2008)
  • Lucene.NET

... pero lo Cuál es el mejor enfoque para integrarlos con ASP.NET MVC?

Ideas?

Respuesta

2

Creo en una de sus entradas en el blog Jeff Atwood habla sobre cómo usó sitemaps para que Google maneje la mayoría de las capacidades de búsqueda en el desbordamiento de la pila. ¿Por qué escribir sus propios algoritmos de búsqueda cuando es probable que las personas usen Google de todos modos?

5

No está del todo claro lo que están pidiendo específicamente, pero, en general:

  1. Escribe un ayudante de vista o vista parcial que devuelve un formulario de búsqueda. Llámalo dentro de tus otras páginas donde sea que necesites mostrar un cuadro de búsqueda. Haga que la acción de formulario GET, no POST.
  2. Para una búsqueda en el sitio, es probable que desee tener un controlador de búsqueda. Para buscar dentro de un tipo particular de datos, puede agregar una acción a un controlador existente o un argumento a una acción existente. En su mayor parte, lo único que tenemos que agregar es un argumento para la acción de "Lista" de propósito general para un tipo de datos específico. El formulario de búsqueda llama a "Lista" y establece un argumento con la cadena de consulta de búsqueda.
  3. La búsqueda real se realiza dentro de su repositorio. Esa es la única parte de la aplicación que sabe cosas como SQL Server o Lucene. Para casos triviales, un controlador podría agregar un .W a un IQueryable <T> devuelto por un repositorio.
Cuestiones relacionadas