We're updating the issue view to help you get more done. 

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/

Environment

None

Status

Assignee

Flemming Harms

Reporter

Flemming Harms

Labels

None

Suitable for new contributors

None

Pull Request

None

Feedback Requested

None

Components

Priority

Major