[pylucene-dev] Question on design of a long-running BSD-based
reader/writer class
Terry Jones
terry at jon.es
Fri Jan 5 13:14:30 PST 2007
>>>>> "Andi" == Andi Vajda <vajda at osafoundation.org> writes:
Andi> On Fri, 5 Jan 2007, Terry Jones wrote:
>> Also, buffering approaches using RAMDirectory seem not to support
>> transactions - at least not at the level of single additions to the
>> RAMDirectory.
Andi> The transaction is used with DBDirectory. Use a RAMDirectory to batch
Andi> all changes for a given thread and once done, merge the RAMDirectory
Andi> into a DBDirectory within a transaction.
In my case, a single addition to the index will need to take place in a
transaction (that does other things elsewhere with other data) - and that's
a finer grain than the periodic merging type of transaction you suggest. If
I want a transaction per addition, I'm back to the situation I started
in. But seeing as it's just a single document addition, it's not so hard to
write an undo (which could also fail, ad infinitum... and so the need for
real transactions). I think I'm going to have to roll my own solution that
includes buffering as you suggest - the transaction-robust alternative is
just too slow.
Thanks again,
Terry
More information about the pylucene-dev
mailing list