lucy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ashley Pond V <>
Subject [lucy-user] Indexer introspection -- has commit already been called?
Date Thu, 08 Sep 2011 18:47:36 GMT
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!

View raw message