2012-01-26 9 views
5

Necesitamos proporcionar opciones de búsqueda para que los usuarios encuentren contenido basado en valores de campo específicos.Ampliación de la búsqueda e indexación de Orchard

Estamos desarrollando un módulo de Curso de capacitación para un cliente, pero la búsqueda estándar busca el texto en cualquier campo indexado. Queremos permitir a los usuarios encontrar cursos basados ​​en búsquedas en campos específicos (por ejemplo, Tipo de curso, Ubicación, Precio, Fecha).

Hemos ampliado la búsqueda para verificar campos específicos pero no podemos determinar cómo obtener los parámetros de URL pasados ​​por el formulario de búsqueda como GET.

¿Dónde coloca Orchard los parámetros de URL?

Además, nos falta algo, ¿hay alguna manera en que Orchard ya lo apoye y no nos hayamos dado cuenta?

+0

¿Quiere decir que quiere una búsqueda como 'Buscar ubicación = xxx' ?? Porque cuando crea campos, puede elegir si son indexables o no. Solo que no sabría cómo se especificaría buscar en un campo en particular. – gideon

+0

Hola @gideon, es correcto, queremos separar los campos individuales, por lo que la URL de búsqueda puede ser ** search? Location = Ohio & Type = Cooking ** pero no queremos cursos de cocina tan solo _mention_ Ohio en su descripción del curso (por ejemplo, "también tenemos una escuela en Ohio"), queremos aquellos que tienen su ubicación específica en ** Ohio **. – e64

+0

Tal vez pueda visitar http://orchardgallery.codeplex.com/ el sitio tiene una búsqueda de categoría similar a la que está buscando (http://gallery.orchardproject.net/List/Modules) – gideon

Respuesta

1

Le sugiero que copie parte del módulo de búsqueda, más específicamente el controlador y la vista, y luego modifíquelo para adaptarlo a sus necesidades específicas. Veo que en realidad está modificando el módulo original, pero esto podría ser un problema a largo plazo, por ejemplo, si comenzamos a actualizar el módulo, puede perder los cambios o tener que volver a aplicarlos a la base de código. Al final, apuntarás a un módulo MySiteName.Search. Y también puede agregar rutas personalizadas, configuraciones personalizadas.

En una nota lateral, la API de búsqueda es realmente poderosa e incluso puede usarla para hacer búsquedas facetadas o para buscar términos de taxonomía heredados, etiquetas, texto completo, rangos, ... Tener su propio código de controlador le permitirá usa todas estas características fácilmente

Cuestiones relacionadas