La aplicación My Grails está utilizando el complemento de búsqueda, que se basa en Compass y Lucene para proporcionar funcionalidad de búsqueda. Tengo dos clases de búsqueda, dicen Autor y Libro. He asignado estas clases al índice de búsqueda, de modo que solo se puedan buscar ciertos campos.solicitud de complemento de búsqueda de grails
para realizar una búsqueda a través de ambas clases Simplemente llamo
def results = searchableService.search(query)
Una de las características interesantes de hacer la búsqueda a través tanto de clase al mismo tiempo, es que el objeto results
incluye metadatos sobre el número de resultados incluidos, número de resultados disponibles, detalles de paginación, etc.
Recientemente agregué una bandera booleana approved
a la clase Libro y nunca quiero que los libros no aprobados aparezcan en los resultados de búsqueda. Una opción es reemplazar la llamada anterior con:
def bookResults = Book.search(query + " approved:1")
def authorResults = Author.search(query)
Sin embargo, ahora la necesidad de encontrar la manera de combinar los metadatos para ambos resultados, lo cual es probable que sea difícil (sobre todo la paginación).
¿Hay alguna manera de buscar entre Libro y Autor con una sola consulta, pero solo devolver libros aprobados?
Admiro tu persistencia. La solución anterior parece funcionar, ¡muchas gracias! –
:-) esperaba capturar la recompensa ... – rdmueller