Hi all, I am interested in developing a system which will use Lucene to implement the search functionality. A key characteristic of this system is that certain information about the indexed documents will be editable by the user administrators. For instance, the user administrators can manually create "document collections" and assign some of the indexed documents to them. One way to implement document collections would by having documents have a dedicated field for storing the document collection id, and storing the document collection information in a database.
Ideally, such an operation as the above should have transactional semantics, i.e. if a user wants to assign documents x, y and z to collection C, then either all three documents should be assigned to the collection or, in case of error, none of the documents should be assigned to the collection. Also, if the operation were to be followed by an SQL query to update the database with the number of documents assigned to collection C, that should be included in the "transaction" as well. Is there a straightforward way to do this with Lucene? Or are "transactions" a no-no for a system like Lucene and I should just go ahead without having transactional semantics? Thanks in advance, Marios Skounakis