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

Reply via email to