tutorial for java lucene hibernate-search

java - for - hibernar búsqueda sin base de datos



install hibernate maven (3)

¿Es posible usar hibernate-search solo para sus anotaciones (bean => document / document => bean mapping), sin usar ninguna base de datos? Si es así, ¿hay muestras en línea que muestren básicamente cómo configurar esto?

Encontré lo siguiente: http://mojodna.net/2006/10/02/searchable-annotation-driven-indexing-and-searching-with-lucene.html , pero preferiría la búsqueda de hibernación si es compatible con mi uso caso.


No creo que eso sea posible porque cuando habilita la búsqueda de Hibernate, lo habilita en una Entidad y esa Entidad tiene referencias a la tabla y al índice de búsqueda.


La búsqueda de Hibernate 3.4 ha desacoplado el motor de búsqueda de Hibernate Core. Por ejemplo, Hibernate Search se reutiliza para implementar consultas con Infinispan. No sé si el código está empaquetado para poder usar HS, digamos Spring y JDBCTemplate (algo que me gustaría hacer). Esa es una pista que investigaré más adelante, pero tal vez puedas comprobarlo ...


Starman está en lo cierto, Hibernate Search en la versión 3.4 está abstrayendo el motor de búsqueda de Hibernate Core, y el Infinispan Query es un ejemplo de integración que funciona bien sin una base de datos. Tampoco habría problemas con Spring, pero necesitaría asegurarse de enviar eventos de actualización al motor de consultas para que el índice no se desincronice. Cuando se utiliza Hibernate, la ventaja es que escucha de forma transparente los cambios en la base de datos y los aplica al índice en la confirmación de la transacción, por lo que el índice siempre está sincronizado (o cerrado, si se configura la búsqueda para usar los back-end asincrónicos).

Sugiero que investigue el código de Infinispan Query, ya que es muy pequeño y solo delega llamadas para exponer una API con sabor Infinispan . La mayor parte del código es pruebas o integración para administrar adecuadamente el ciclo de vida del motor: comience y ciérrelo junto con Infinispan.