On Fri, 16 Jul 2004 10:00:08 +0200, Christiaan Fluit
<[EMAIL PROTECTED]> wrote:
> [snip]
> 
> That's exactly what we do. It's not optimal but it works.
> 
> My guess would be that the chosen architecture makes it possible to
> query the index while it is simultaneously being updated. I believe
> (correct me if I'm wrong) that you can add documents to an index and
> query it at the same time.

I can confirm this. That is what we were doing to find out if a
document ready to be indexed was already present on the index.

> Only the IndexReader won't see the new
> documents that have been added after it has been created.

That is also correct; we have already found a way around this problem
as we refresh the main IndexReader every few minutes to keep it
aligned with the content of the index.

> I can imagine
> that this is much harder to realize when IndexWriter can not only add
> documents but also delete them.

As far as I understand this, the indexReader blocks a copy of the
whole index as it is opened, in order to keep a consistent environment
while it is running. This should isolate it from update to the index,
both new documents and deleted documents.

But I don't know Lucene internals enough to bet a single cent on my
previous statement. :-]

> Can any of the Lucene designers tell me why you chose to create an
> IndexWriter and an IndexReader class instead of a single Index class
> that handles all these aspects for you? It seems to me that this way you
> could have solved a lot of these issues internally in Lucene, instead of
> leaving it up to the integrator.


Giulio Cesare Solaroli

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to