Tengo una simple pregunta, porque hoy fue la primera vez que conocí y usé Hibernate Search . ¿Puede alguien explicarme simplemente cuáles son las ventajas de usar Hibernate Search con anotaciones JPA ? ¿Tiene sentido usarlo en lugar de Spring Data (me refiero a los repositorios CRUD/JPA)? ¿Cuándo es más rentable Hibernate Search ?
Por ejemplo, tengo una aplicación web SpringMVC simple, con usuarios y eventos. El usuario debería poder ver listas de eventos en las páginas, con opción de clasificación.
Debería poder buscar eventos específicos por "campos" dados. En ese caso, ¿debería usar repositorios CRUD/JPA o trabajar con Hib Search?
¡Gracias de antemano!
Como puede ver en la documentación , Hibernate Search se usa principalmente para búsquedas de texto completo , agrupamiento e indexación de resultados en lugar de solo buscar tablas de bases de datos que se proporcionan naturalmente con Spring data , HQL y Criteria API...
Entonces, en este caso, Hibernate Search se utiliza para la búsqueda de texto de alto rendimiento y desempeña el papel de un motor de búsqueda de texto ( Lucene , Sphinx ...).
En tu caso:
Entonces, si está desarrollando una aplicación web básica en la que solo necesita consultar algunas entidades de la base de datos, simplemente debe usar Spring data , JPQL , core Hibernate HQL o Criteria API.
Hay una serie de buenos artículos sobre esto. Puede encontrar un ejemplo aquí . Sin embargo, en aras de una respuesta sin enlace, debe usar la búsqueda de Hibernate si la mayoría de su búsqueda es de texto completo (búsquedas difusas, comodines, geoespacial, etc.). De lo contrario, si está más interesado en uniones de bases de datos, clasificaciones, etc. simplemente use SQL.