Relational db backend

Description

Relational db provider is a back end processor similarly to LUCENE, JMS and JGROUPS. It stores its scheduled index updates (LuceneWork's) in a database for later processing by a scheduled job. It is designed to work single node environments as well as clustered environments.

Primary advantages:

  • Once persisted to the database, scheduled index updates are not lost in case of node crashes

  • No need for specifying master/slave roles in a cluster

As with the JMS provider you have to define a job that run in a single or multiple nodes. This job is responsible for calling the method for process the stored workers and write them to the index. This can, for example, be done with Quartz or a Wildfly HA singleton etc.

The relational db provider should support non ORM and existing ORM by piggybacking on the existing service. Optionally support for including the backend operation in the main transaction when storing the entity in the database. See http://in.relation.to/2015/07/09/hibernate-search-jms-transaction/

Activity

Yoann RodièreFebruary 8, 2021 at 9:37 AM

Currently being implemented in HSEARCH-3280.

Duplicate

Details

Assignee

Reporter

Components

Priority

Created September 1, 2015 at 8:00 AM
Updated February 8, 2021 at 9:37 AM
Resolved February 8, 2021 at 9:37 AM