No he implementado una función de búsqueda antes y me siento un poco atascado. Tengo una función de búsqueda de manchas solares que encuentra resultados basados en palabras clave, esto funciona muy bien, pero ahora quiero implementar la función de facetas de selección múltiple, pero ni siquiera puedo encontrar la manera de configurar una búsqueda de facetas básica.¿Cómo configuro una búsqueda de facetas con una relación de muchos a muchos usando Sunspot?
que tienen una relación muchos a muchos (en los carriles no en la vida real):
Personas de la clase has_many: habilidades,: a través de => experiencia (y viceversa, etc.)
Class People < ActiveRecord::Base
has_many :skills, :through => experience
searchable do
text :first_name, :surname
end
end
En el Controlador
@search = Sunspot.search(People)
facet :skill_ids
end
Este es el ejemplo básico en el que no puedo trabajar. Se genera este error:
Sunspot::UnrecognizedFieldError: No field configured for People with name 'skill_ids'
¿Cómo se crea el enlace a: skill_ids
Creo que debe faltar alguna referencia en el modelo - pero no hay ejemplos que puedo encontrar no hacer referencia a los ID de una relación. La mayoría de los ejemplos que encontré usan columnas que ya están en ese modelo cuando se usa la funcionalidad faceta.
- ¿Cómo puedo lograr que funcione la implementación básica?
- ¿Cómo usar esto en la vista? ¿Tengo que llamar a hits.facet e iterar sobre las habilidades? ¿Cómo se vería el código para mostrar esto?
- ¿Cómo seleccionaría múltiples facetas para buscar?
- ¿Debería poner esto en el wiki de la comunidad?
¡Gracias por su tiempo!
Gracias! No pude encontrar una referencia a: la parte múltiple en la wiki o en cualquier otro lugar; debe haber estado usando términos de búsqueda erróneos o algo así. Tiene la idea correcta de lo que quise decir con "seleccionar múltiples facetas para buscar por" - en otras palabras: filtrando por selecciones múltiples. ¡El wiki ahora tiene sentido para mí con una demostración en funcionamiento para probar! Voy a tratar de agregar en la siguiente funcionalidad de filtrado: ¿Tendría razón al pensar que puedo crear un link_to y pasar parámetros para facetas adicionales, o es un largo camino por recorrer? ¡Gracias de nuevo! –