Michael Neale wrote:
I know from previous discussions that it is a design decision of Jackrabbit
to not exlcusively work with RDBMS - if it was, I would be all in favour of
leaning on it to do the hardwork.
please note that it is possible to exclusively use an RDBMS for storing and
querying content, though you have to create your own persistence manager and
query handler. the jackrabbit core does not force you to separate the store and
the index.
but you are right that it was a design decision to allow separation if you want
to. because jackrabbit initially only had plain file based persistence managers
and because lucene provides very good fulltext indexing we decided to go with
lucene.
coming back to the RDBMS only approach. you would have to implement a
persistence manager that stores nodes and properties in a way that allows the
database to use its indexes. then create a query handler that translates an
abstract query tree into a SQL statement based on the database schema.
there are some obstacles you will have to overcome (or actually the database):
1) handle node hierarchies (e.g. get all ancestors of a certain node)
2) provide fulltext indexing
I think this would be a very useful extension for jackrabbit. so, if anyone is
interested in implementing this, I'm very curious how well it performs compared
to the current implementation using lucene.
regards
marcel