I have a Moose class that is using attribute traits to automatically bundle up a lot of ordinary but complex KinoSearch/Lucy behavior. Something blocking me from automating the indexer -> add_doc x N -> commit cycle is that there seems to be no way (from the Perl interface) to get an indexer to say whether it has already been committed or not. The idea being the meta object has indexers, searchers, and the schema embedded in it so it knows how to compose all kinds of things like add_doc. For it to do it sanely it must know its current indexers state for every meta->add_doc call so it can reuse its indexer or instantiate a new one.
Reading the .c files I can see things like self->prepared and self->needs_commit but they aren't available through the perl objects and the inside out objects are a little difficult to explore. Is there a way (or a best practice if there is more than one) for getting an index to give its status? It appears that ->commit clears the index lock so I suppose the short form for knowing if an indexer hasn't been committed is to see if it still has a lock. But there is more than one kind of lock and it also seems short on perl-side introspection so I'm guessing it's the wrong way to go. Thanks for looking, as always! -Ashley
