You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Antony Bowesman <ad...@teamware.com> on 2009/05/05 13:42:11 UTC
Which is more efficient
Just wondered which was more efficient under the hood
for (int i = 0; i < size; i++)
terms[i] = new Term("id", doc_key[i]);
This
writer.deleteDocuments(terms);
for (int i = 0; i < size; i++)
writer.addDocument(doc[i]);
Or this
for (int i = 0; i < size; i++)
writer.updateDocument(terms[i], doc[i]);
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: Which is more efficient
Posted by Michael McCandless <lu...@mikemccandless.com>.
They should be very nearly the same. Under the hood, when you call
updateDocument, IndexWriter buffers up the deleted terms, and flushes
them periodically.
Mike
On Tue, May 5, 2009 at 7:42 AM, Antony Bowesman <ad...@teamware.com> wrote:
> Just wondered which was more efficient under the hood
>
> for (int i = 0; i < size; i++)
> terms[i] = new Term("id", doc_key[i]);
>
> This
>
> writer.deleteDocuments(terms);
> for (int i = 0; i < size; i++)
> writer.addDocument(doc[i]);
>
> Or this
>
> for (int i = 0; i < size; i++)
> writer.updateDocument(terms[i], doc[i]);
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org