Pregunta

Tengo un modelo que se parece a esto

class Post
  acts_as_tree
end

Lo que quiero hacer es realizar una búsqueda sobre el contenido de un hilo completo de publicaciones, pero solo devolver la publicación principal en los resultados y paginar estos resultados.

He leído sobre facetas en Sunspot/Solr, y aunque esto devuelve los resultados correctos, no se pueden paginar.

Básicamente, quiero buscar en un conjunto de publicaciones, pero agrupar por su parent_id. ¿Es esto posible en Sunspot/Solr?

¿Fue útil?

Solución

Básicamente, desea buscar en un campo compuesto por todos los nodos infantiles de un hilo. Puede hacer esto con la sintaxis de bloque de Sunspot. Si la publicación es un nodo raíz, indexe a todos los niños del nodo (tendrá que implementar All_children, lo que no debería ser demasiado difícil).

searchable do
  text :posts do
    all_children.map(&:post_body) unless parent
  end
end

Luego busque este campo de texto "publicar". Dado que solo indexó cualquier cosa para los nodos raíz, estos son los únicos objetos que se devolverán en su conjunto de resultados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top