In the world of data management platforms, anything that supports transactional commits would implement ACID (Atomicity, Consistency, Isolation, Durability). ACID is a set of properties that guarantees that transactions are processed reliably. So, how does Lucene measure against ACID?
Atomicity: This property requires that each transaction is all or nothing. When a transaction fails, none of the partial changes performed by the transaction should persist or be visible. Changes from a transaction should only persist and made visible when the transaction completes and is committed. Lucene's IndexWriter supports transactional commit. Changes to the index will only be made visible to
IndexReader
after we callcommit()
. If an IndexWriter crashes for whatever reason or never callscommit()
, the partial changes will never be made visible to the IndexReader.Consistency: This property ensures that any committed changes will bring the system from one valid...